diff options
author | Antoine Vigneau <antoine.vigneau@sonarsource.com> | 2023-11-29 16:36:40 +0100 |
---|---|---|
committer | sonartech <sonartech@sonarsource.com> | 2023-12-22 20:03:01 +0000 |
commit | 3cbfd8163ffdc42f89631382031dd115c0df65b6 (patch) | |
tree | 0feaff8db3c929e416d1cafdfb6bee6e162ba562 /server/sonar-auth-gitlab/src/test/java | |
parent | 5cd396ce0569610969c9610b99fc40c97703734e (diff) | |
download | sonarqube-3cbfd8163ffdc42f89631382031dd115c0df65b6.tar.gz sonarqube-3cbfd8163ffdc42f89631382031dd115c0df65b6.zip |
SONAR-21119 Add GitLab config for provisioning
Diffstat (limited to 'server/sonar-auth-gitlab/src/test/java')
-rw-r--r-- | server/sonar-auth-gitlab/src/test/java/org/sonar/auth/gitlab/GitLabModuleTest.java | 2 | ||||
-rw-r--r-- | server/sonar-auth-gitlab/src/test/java/org/sonar/auth/gitlab/GitLabSettingsTest.java | 48 |
2 files changed, 48 insertions, 2 deletions
diff --git a/server/sonar-auth-gitlab/src/test/java/org/sonar/auth/gitlab/GitLabModuleTest.java b/server/sonar-auth-gitlab/src/test/java/org/sonar/auth/gitlab/GitLabModuleTest.java index 261dd728830..d6096033969 100644 --- a/server/sonar-auth-gitlab/src/test/java/org/sonar/auth/gitlab/GitLabModuleTest.java +++ b/server/sonar-auth-gitlab/src/test/java/org/sonar/auth/gitlab/GitLabModuleTest.java @@ -33,7 +33,7 @@ public class GitLabModuleTest { public void verify_count_of_added_components() { ListContainer container = new ListContainer(); new GitLabModule().configure(container); - assertThat(container.getAddedObjects()).hasSize(10); + assertThat(container.getAddedObjects()).hasSize(13); } private static class ListContainer implements Container { diff --git a/server/sonar-auth-gitlab/src/test/java/org/sonar/auth/gitlab/GitLabSettingsTest.java b/server/sonar-auth-gitlab/src/test/java/org/sonar/auth/gitlab/GitLabSettingsTest.java index 6135fa9cc11..e910eab0712 100644 --- a/server/sonar-auth-gitlab/src/test/java/org/sonar/auth/gitlab/GitLabSettingsTest.java +++ b/server/sonar-auth-gitlab/src/test/java/org/sonar/auth/gitlab/GitLabSettingsTest.java @@ -29,13 +29,15 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.sonar.auth.gitlab.GitLabSettings.GITLAB_AUTH_ALLOW_USERS_TO_SIGNUP; import static org.sonar.auth.gitlab.GitLabSettings.GITLAB_AUTH_APPLICATION_ID; import static org.sonar.auth.gitlab.GitLabSettings.GITLAB_AUTH_ENABLED; +import static org.sonar.auth.gitlab.GitLabSettings.GITLAB_AUTH_PROVISIONING_ENABLED; +import static org.sonar.auth.gitlab.GitLabSettings.GITLAB_AUTH_PROVISIONING_GROUPS; +import static org.sonar.auth.gitlab.GitLabSettings.GITLAB_AUTH_PROVISIONING_TOKEN; import static org.sonar.auth.gitlab.GitLabSettings.GITLAB_AUTH_SECRET; import static org.sonar.auth.gitlab.GitLabSettings.GITLAB_AUTH_SYNC_USER_GROUPS; import static org.sonar.auth.gitlab.GitLabSettings.GITLAB_AUTH_URL; public class GitLabSettingsTest { - private MapSettings settings; private GitLabSettings config; @@ -73,5 +75,49 @@ public class GitLabSettingsTest { assertThat(config.syncUserGroups()).isFalse(); settings.setProperty(GITLAB_AUTH_SYNC_USER_GROUPS, true); assertThat(config.syncUserGroups()).isTrue(); + + settings.setProperty(GITLAB_AUTH_PROVISIONING_TOKEN, "token"); + assertThat(config.provisioningToken()).isEqualTo("token"); + + settings.setProperty(GITLAB_AUTH_PROVISIONING_GROUPS, new String[] {"Group1", "Group2"}); + assertThat(config.provisioningGroups()).containsExactlyInAnyOrder("Group1", "Group2"); + + assertThat(config.isProvisioningEnabled()).isFalse(); + settings.setProperty(GITLAB_AUTH_PROVISIONING_ENABLED, true); + assertThat(config.isProvisioningEnabled()).isTrue(); + } + + @Test + public void isProvisioningEnabled_whenNotSet_returnsFalse() { + enableGithubAuthentication(); + assertThat(config.isProvisioningEnabled()).isFalse(); + } + + @Test + public void isProvisioningEnabled_ifProvisioningDisabled_returnsFalse() { + enableGithubAuthentication(); + settings.setProperty(GITLAB_AUTH_PROVISIONING_ENABLED, false); + assertThat(config.isProvisioningEnabled()).isFalse(); } + + @Test + public void isProvisioningEnabled_ifProvisioningEnabledButGithubAuthDisabled_returnsFalse() { + settings.setProperty(GITLAB_AUTH_PROVISIONING_ENABLED, true); + assertThat(config.isProvisioningEnabled()).isFalse(); + } + + @Test + public void isProvisioningEnabled_ifProvisioningEnabledAndGithubAuthEnabled_returnsTrue() { + enableGithubAuthentication(); + settings.setProperty(GITLAB_AUTH_PROVISIONING_ENABLED, true); + assertThat(config.isProvisioningEnabled()).isTrue(); + } + + private void enableGithubAuthentication() { + settings.setProperty(GITLAB_AUTH_ENABLED, true); + settings.setProperty(GITLAB_AUTH_APPLICATION_ID, "on"); + settings.setProperty(GITLAB_AUTH_SECRET, "on"); + } + } + |