Commit 86732490 authored by Greg Messner's avatar Greg Messner
Browse files

Initial commit (#286).

parent 5949bc05
package org.gitlab4j.api;
import org.gitlab4j.api.GitLabApi.ApiVersion;
import org.gitlab4j.api.models.Project;
/**
* In order for these tests to run you must set the following properties in
* test-gitlab4j.properties
*
* TEST_NAMESPACE
* TEST_PROJECT_NAME
* TEST_HOST_URL
* TEST_PRIVATE_TOKEN
*/
public class AbstractBaseTest {
// The following needs to be set to your test repository
protected static final String TEST_PROJECT_NAME;
protected static final String TEST_NAMESPACE;
protected static final String TEST_HOST_URL;
protected static final String TEST_PRIVATE_TOKEN;
static {
TEST_NAMESPACE = TestUtils.getProperty("TEST_NAMESPACE");
TEST_PROJECT_NAME = TestUtils.getProperty("TEST_PROJECT_NAME");
TEST_HOST_URL = TestUtils.getProperty("TEST_HOST_URL");
TEST_PRIVATE_TOKEN = TestUtils.getProperty("TEST_PRIVATE_TOKEN");
}
protected static Project testProject;
protected static GitLabApi gitLabApi;
public AbstractBaseTest() {
super();
}
protected static void testSetup() {
String problems = "";
if (TEST_NAMESPACE == null || TEST_NAMESPACE.trim().isEmpty()) {
problems += "TEST_NAMESPACE cannot be empty\n";
}
if (TEST_PROJECT_NAME == null || TEST_PROJECT_NAME.trim().isEmpty()) {
problems += "TEST_PROJECT_NAME cannot be empty\n";
}
if (TEST_HOST_URL == null || TEST_HOST_URL.trim().isEmpty()) {
problems += "TEST_HOST_URL cannot be empty\n";
}
if (TEST_PRIVATE_TOKEN == null || TEST_PRIVATE_TOKEN.trim().isEmpty()) {
problems += "TEST_PRIVATE_TOKEN cannot be empty\n";
}
if (problems.isEmpty()) {
try {
gitLabApi = new GitLabApi(ApiVersion.V4, TEST_HOST_URL, TEST_PRIVATE_TOKEN);
testProject = gitLabApi.getProjectApi().getProject(TEST_NAMESPACE, TEST_PROJECT_NAME);
} catch (Exception e) {
problems += e.getMessage() + "\n";
}
}
if (!problems.isEmpty()) {
System.err.print(problems);
}
}
}
package org.gitlab4j.api;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assume.assumeTrue;
import java.util.List;
import java.util.Optional;
import org.gitlab4j.api.models.Release;
import org.gitlab4j.api.models.Tag;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
public class TestTagsApi extends AbstractBaseTest {
private static final String TEST_TAG_NAME_1 = "test-tag-1";
private static final String TEST_TAG_NAME_0 = "test-tag-0";
public TestTagsApi() {
super();
}
@BeforeClass
public static void setup() {
// Must setup the connection to the GitLab test server
AbstractBaseTest.testSetup();
if (testProject != null) {
try {
gitLabApi.getTagsApi().createTag(testProject, TEST_TAG_NAME_0, "master");
} catch (Exception ignore) {}
try {
gitLabApi.getTagsApi().deleteTag(testProject, TEST_TAG_NAME_1);
} catch (Exception ignore) {}
}
}
@AfterClass
public static void tearDown() {
if (testProject != null) {
try {
gitLabApi.getTagsApi().deleteTag(testProject, TEST_TAG_NAME_0);
} catch (Exception ignore) {}
try {
gitLabApi.getTagsApi().deleteTag(testProject, TEST_TAG_NAME_1);
} catch (Exception ignore) {}
}
}
@Before
public void beforeMethod() {
assumeTrue(testProject != null);
}
@Test
public void testCreateAndDeleteTag() throws GitLabApiException {
Tag testTag = gitLabApi.getTagsApi().createTag(testProject, TEST_TAG_NAME_1, "master");
assertNotNull(testTag);
assertEquals(TEST_TAG_NAME_1, testTag.getName());
testTag = gitLabApi.getTagsApi().getTag(testProject, TEST_TAG_NAME_1);
assertNotNull(testTag);
assertEquals(TEST_TAG_NAME_1, testTag.getName());
gitLabApi.getTagsApi().deleteTag(testProject, TEST_TAG_NAME_1);
Optional<Tag> tag = gitLabApi.getTagsApi().getOptionalTag(testProject, TEST_TAG_NAME_1);
assertFalse(tag.isPresent());
List<Tag> tags = gitLabApi.getTagsApi().getTags(testProject);
assertFalse(tags.stream().map(Tag::getName).anyMatch(s -> TEST_TAG_NAME_1.equals(s)));
}
@Test
public void testCreateAndUpdateRelease() throws GitLabApiException {
Tag testTag = gitLabApi.getTagsApi().createTag(testProject, TEST_TAG_NAME_1, "master");
assertNotNull(testTag);
assertEquals(TEST_TAG_NAME_1, testTag.getName());
Release release = gitLabApi.getTagsApi().createRelease(testProject, TEST_TAG_NAME_1, "RELEASE NOTES");
assertNotNull(release);
testTag = gitLabApi.getTagsApi().getTag(testProject, TEST_TAG_NAME_1);
assertNotNull(testTag);
assertEquals(TEST_TAG_NAME_1, testTag.getName());
assertEquals("RELEASE NOTES", testTag.getRelease().getDescription());
release = gitLabApi.getTagsApi().updateRelease(testProject, TEST_TAG_NAME_1, "UPDATED RELEASE NOTES");
assertNotNull(release);
testTag = gitLabApi.getTagsApi().getTag(testProject, TEST_TAG_NAME_1);
assertNotNull(testTag);
assertEquals(TEST_TAG_NAME_1, testTag.getName());
assertEquals("UPDATED RELEASE NOTES", testTag.getRelease().getDescription());
gitLabApi.getTagsApi().deleteTag(testProject, TEST_TAG_NAME_1);
}
@Test
public void testGetTags() throws GitLabApiException {
List<Tag> tags = gitLabApi.getTagsApi().getTags(testProject);
assertNotNull(tags);
assertTrue(tags.size() > 0);
assertTrue(tags.stream().map(Tag::getName).anyMatch(s -> TEST_TAG_NAME_0.equals(s)));
}
@Test
public void testGetTagsPager() throws GitLabApiException {
Pager<Tag> tags = gitLabApi.getTagsApi().getTags(testProject, 100);
assertNotNull(tags);
assertTrue(tags.getTotalItems() > 0);
assertTrue(tags.stream().map(Tag::getName).anyMatch(s -> TEST_TAG_NAME_0.equals(s)));
}
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment