Skip to content

Commit 8436750

Browse files
committed
Added test for filtering on access level (#356).
1 parent 04aa96b commit 8436750

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

src/test/java/org/gitlab4j/api/TestProjectApi.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ public class TestProjectApi extends AbstractIntegrationTest {
7575
private static final String TEST_GROUP = HelperUtils.getProperty(GROUP_KEY);
7676
private static final String TEST_GROUP_PROJECT = HelperUtils.getProperty(GROUP_PROJECT_KEY);
7777
private static final String TEST_XFER_NAMESPACE = HelperUtils.getProperty(XFER_NAMESPACE_KEY);
78+
private static final String TEST_SUDO_AS_USERNAME = HelperUtils.getProperty(SUDO_AS_USERNAME_KEY);
7879

7980
private static final String TEST_PROJECT_NAME_1 = "test-gitlab4j-create-project";
8081
private static final String TEST_PROJECT_NAME_2 = "test-gitlab4j-create-project-2";
@@ -451,6 +452,28 @@ public void testProjectsWithFilterAndStatistics() throws GitLabApiException {
451452
assertNotNull(projects.get(0).getStatistics());
452453
}
453454

455+
@Test
456+
public void testProjectsWithAccessLevelFilter() throws GitLabApiException {
457+
458+
ProjectFilter filter = new ProjectFilter().withMinAccessLevel(AccessLevel.GUEST);
459+
List<Project> guestProjects = gitLabApi.getProjectApi().getProjects(filter);
460+
assertTrue(guestProjects != null);
461+
assertTrue(guestProjects.size() > 0);
462+
463+
// Use sudo to impersonate a non-admin user
464+
try {
465+
466+
gitLabApi.sudo(TEST_SUDO_AS_USERNAME);
467+
filter = new ProjectFilter().withMinAccessLevel(AccessLevel.OWNER);
468+
List<Project> ownedProjects = gitLabApi.getProjectApi().getProjects(filter);
469+
assertTrue(ownedProjects != null);
470+
assertTrue(guestProjects.size() > ownedProjects.size());
471+
472+
} finally {
473+
gitLabApi.unsudo();
474+
}
475+
}
476+
454477
@Test
455478
public void testProjectPerPage() throws GitLabApiException {
456479
List<Project> projects = gitLabApi.getProjectApi().getProjects(1, 10);

0 commit comments

Comments
 (0)