Skip to content

Commit a39ae6d

Browse files
committed
Initial commit to support setting project avatar (#284).
1 parent 8119a0e commit a39ae6d

File tree

2 files changed

+104
-0
lines changed

2 files changed

+104
-0
lines changed
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
package org.gitlab4j.api;
2+
3+
import static org.junit.Assert.assertNotNull;
4+
import static org.junit.Assert.assertNull;
5+
import static org.junit.Assert.assertTrue;
6+
import static org.junit.Assume.assumeTrue;
7+
8+
import java.io.File;
9+
10+
import org.gitlab4j.api.GitLabApi.ApiVersion;
11+
import org.gitlab4j.api.models.Project;
12+
import org.junit.Before;
13+
import org.junit.BeforeClass;
14+
import org.junit.FixMethodOrder;
15+
import org.junit.Test;
16+
import org.junit.runners.MethodSorters;
17+
18+
/**
19+
* In order for these tests to run you must set the following properties in test-gitlab4j.properties
20+
*
21+
* TEST_NAMESPACE
22+
* TEST_PROJECT_NAME
23+
* TEST_HOST_URL
24+
* TEST_PRIVATE_TOKEN
25+
*
26+
* If any of the above are NULL, all tests in this class will be skipped.
27+
*/
28+
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
29+
public class TestAvatarUpload {
30+
31+
// The following needs to be set to your test repository
32+
private static final String TEST_PROJECT_NAME;
33+
private static final String TEST_NAMESPACE;
34+
private static final String TEST_HOST_URL;
35+
private static final String TEST_PRIVATE_TOKEN;
36+
static {
37+
TEST_NAMESPACE = TestUtils.getProperty("TEST_NAMESPACE");
38+
TEST_PROJECT_NAME = TestUtils.getProperty("TEST_PROJECT_NAME");
39+
TEST_HOST_URL = TestUtils.getProperty("TEST_HOST_URL");
40+
TEST_PRIVATE_TOKEN = TestUtils.getProperty("TEST_PRIVATE_TOKEN");
41+
}
42+
43+
private static GitLabApi gitLabApi;
44+
45+
public TestAvatarUpload() {
46+
super();
47+
}
48+
49+
@BeforeClass
50+
public static void setup() {
51+
52+
String problems = "";
53+
if (TEST_NAMESPACE == null || TEST_NAMESPACE.trim().isEmpty()) {
54+
problems += "TEST_NAMESPACE cannot be empty\n";
55+
}
56+
57+
if (TEST_PROJECT_NAME == null || TEST_PROJECT_NAME.trim().isEmpty()) {
58+
problems += "TEST_PROJECT_NAME cannot be empty\n";
59+
}
60+
61+
if (TEST_HOST_URL == null || TEST_HOST_URL.trim().isEmpty()) {
62+
problems += "TEST_HOST_URL cannot be empty\n";
63+
}
64+
65+
if (TEST_PRIVATE_TOKEN == null || TEST_PRIVATE_TOKEN.trim().isEmpty()) {
66+
problems += "TEST_PRIVATE_TOKEN cannot be empty\n";
67+
}
68+
69+
if (problems.isEmpty()) {
70+
gitLabApi = new GitLabApi(ApiVersion.V4, TEST_HOST_URL, TEST_PRIVATE_TOKEN);
71+
} else {
72+
System.err.print(problems);
73+
}
74+
}
75+
76+
@Before
77+
public void beforeMethod() {
78+
assumeTrue(gitLabApi != null);
79+
}
80+
81+
@Test
82+
public void testSetProjectAvatar() throws GitLabApiException {
83+
84+
Project project = gitLabApi.getProjectApi().getProject(TEST_NAMESPACE, TEST_PROJECT_NAME);
85+
assertNotNull(project);
86+
87+
File avatarFile = new File("src/test/resources/org/gitlab4j/api/avatar.png");
88+
Project updatedProject = gitLabApi.getProjectApi().setProjectAvatar(project.getId(), avatarFile, null);
89+
assertNotNull(updatedProject);
90+
assertTrue(updatedProject.getAvatarUrl().endsWith("avatar.png"));
91+
}
92+
93+
@Test
94+
public void testSetProjectAvatarWithMediaType() throws GitLabApiException {
95+
96+
Project project = gitLabApi.getProjectApi().getProject(TEST_NAMESPACE, TEST_PROJECT_NAME);
97+
assertNotNull(project);
98+
99+
File avatarFile = new File("src/test/resources/org/gitlab4j/api/avatar.png");
100+
Project updatedProject = gitLabApi.getProjectApi().setProjectAvatar(project.getId(), avatarFile, "image/png");
101+
assertNotNull(updatedProject);
102+
assertTrue(updatedProject.getAvatarUrl().endsWith("avatar.png"));
103+
}
104+
}
6.16 KB
Loading

0 commit comments

Comments
 (0)