diff --git a/src/test/java/org/gitlab4j/api/AbstractIntegrationTest.java b/src/test/java/org/gitlab4j/api/AbstractIntegrationTest.java index ab285f497a3bc65abfc46bfee3f9a0ad2f969b67..e4427b493f6a77965aff0ff242e12b50aa3f3e18 100644 --- a/src/test/java/org/gitlab4j/api/AbstractIntegrationTest.java +++ b/src/test/java/org/gitlab4j/api/AbstractIntegrationTest.java @@ -28,6 +28,7 @@ public class AbstractIntegrationTest implements PropertyConstants { protected static final String TEST_GROUP_PROJECT_NAME = HelperUtils.getProperty(GROUP_PROJECT_KEY); protected static final String TEST_NAMESPACE = HelperUtils.getProperty(NAMESPACE_KEY, TEST_LOGIN_USERNAME); protected static final String TEST_PRIVATE_TOKEN = HelperUtils.getProperty(PRIVATE_TOKEN_KEY); + protected static final String TEST_SUB_GROUP = HelperUtils.getProperty(SUB_GROUP_KEY); protected static class BaseTestResources { protected GitLabApi gitLabApi; diff --git a/src/test/java/org/gitlab4j/api/IntegrationTestSuite.java b/src/test/java/org/gitlab4j/api/IntegrationTestSuite.java index 6f1cd5ab8d5ba3e63e5b4e838cb929cd0fb29ec3..85bd1325d10c8d6af0794924ede8f47ee3630167 100644 --- a/src/test/java/org/gitlab4j/api/IntegrationTestSuite.java +++ b/src/test/java/org/gitlab4j/api/IntegrationTestSuite.java @@ -5,6 +5,7 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.fail; import java.util.Arrays; +import java.util.List; import java.util.Optional; import org.gitlab4j.api.models.Group; @@ -42,6 +43,7 @@ public class IntegrationTestSuite implements PropertyConstants { private static final String TEST_PROJECT_NAME = HelperUtils.getProperty(PROJECT_NAME_KEY); private static final String TEST_GROUP = HelperUtils.getProperty(GROUP_KEY); private static final String TEST_GROUP_PROJECT_NAME = HelperUtils.getProperty(GROUP_PROJECT_KEY); + private static final String TEST_SUB_GROUP = HelperUtils.getProperty(SUB_GROUP_KEY); protected static final String TEST_PRIVATE_TOKEN_NAME = "GitLab4J Test Private Token - " + HelperUtils.getRandomInt(1000); protected static String TEST_PRIVATE_TOKEN = HelperUtils.getProperty(PRIVATE_TOKEN_KEY); @@ -283,5 +285,19 @@ public class IntegrationTestSuite implements PropertyConstants { gitLabApi.getRepositoryFileApi().updateFile(testProject, repoFile, "master", "Updated contents"); System.out.format("Updated %s repository file in %s%n", repoFile.getFilePath(), TEST_GROUP_PROJECT_NAME); } + + // Create a subgroup + List subGroups = gitLabApi.getGroupApi().getSubGroups(TEST_GROUP, null, null, TEST_SUB_GROUP, null, null, null, null); + if (subGroups.isEmpty()) { + Group groupSettings = new Group() + .withName(TEST_SUB_GROUP) + .withPath(TEST_SUB_GROUP) + .withDescription("Test Sub-Group") + .withVisibility(Visibility.PUBLIC) + .withRequestAccessEnabled(true) + .withParentId(testGroup.getId()); + Group testSubGroup = gitLabApi.getGroupApi().addGroup(groupSettings); + System.out.format("Created %s sub-group (%s)%n", testSubGroup.getName(), testSubGroup.getPath()); + } } } diff --git a/src/test/java/org/gitlab4j/api/PropertyConstants.java b/src/test/java/org/gitlab4j/api/PropertyConstants.java index b5430b3c712fc31080241f523b82e8fff20c32f7..5a7c7f0dee2f76f73fc48f05b8bdb8467ba4ef9f 100644 --- a/src/test/java/org/gitlab4j/api/PropertyConstants.java +++ b/src/test/java/org/gitlab4j/api/PropertyConstants.java @@ -23,8 +23,9 @@ public interface PropertyConstants { public static final String PROXY_PASSWORD_KEY = "TEST_PROXY_PASSWORD"; public static final String PROXY_URI_KEY = "TEST_PROXY_URI"; public static final String PROXY_USERNAME_KEY = "TEST_PROXY_USERNAME"; - public static final String TEST_REQUEST_ACCESS_USERNAME_KEY = "TEST_REQUEST_ACCESS_USERNAME"; + public static final String SUB_GROUP_KEY = "TEST_SUB_GROUP"; public static final String SUDO_AS_USERNAME_KEY = "TEST_SUDO_AS_USERNAME"; + public static final String TEST_REQUEST_ACCESS_USERNAME_KEY = "TEST_REQUEST_ACCESS_USERNAME"; public static final String USERNAME_KEY = "TEST_USERNAME"; public static final String XFER_NAMESPACE_KEY = "TEST_XFER_NAMESPACE"; } diff --git a/src/test/java/org/gitlab4j/api/TestNamespaceApi.java b/src/test/java/org/gitlab4j/api/TestNamespaceApi.java index 42727a88c1f2b57dbc73e9c699f3114b705cd91c..f7e42f91b7d62e990c257c7d70251ec141c9dde7 100644 --- a/src/test/java/org/gitlab4j/api/TestNamespaceApi.java +++ b/src/test/java/org/gitlab4j/api/TestNamespaceApi.java @@ -90,6 +90,13 @@ public class TestNamespaceApi extends AbstractIntegrationTest { assertEquals(TEST_NAMESPACE, namespaces.get(0).getName()); } + @Test + public void testFindSubgroupNamespaces() throws GitLabApiException { + List namespaces = gitLabApi.getNamespaceApi().findNamespaces(TEST_SUB_GROUP); + assertNotNull(namespaces); + assertEquals(TEST_SUB_GROUP, namespaces.get(0).getName()); + } + @Test public void testFindNamespacesByPage() throws GitLabApiException { List namespaces = gitLabApi.getNamespaceApi().findNamespaces(TEST_NAMESPACE, 1, 10); diff --git a/src/test/resources/test-gitlab4j.properties b/src/test/resources/test-gitlab4j.properties index 0b10bfd7908813518ee8129ab661a7450030d6dc..794cf038e670854ac219620e2d3d8797b05cef1b 100644 --- a/src/test/resources/test-gitlab4j.properties +++ b/src/test/resources/test-gitlab4j.properties @@ -36,11 +36,12 @@ TEST_BLOCK_USERNAME=user1 TEST_XFER_NAMESPACE=user1 TEST_REQUEST_ACCESS_USERNAME=user1 -# This specifies the group, a project owned by the specified group, and a username to +# This specifies the group, a project owned by the specified group, a username, and a sub-group to # test group membership functionality TEST_GROUP=test-group TEST_GROUP_PROJECT=test-group-project TEST_GROUP_MEMBER_USERNAME=user1 +TEST_SUB_GROUP=subgroup # OPTIONAL: To test using GitLab4J-API with a proxy, set the following properties TEST_PROXY_URI=