aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-auth-gitlab/src/test/java
diff options
context:
space:
mode:
authorAntoine Vigneau <antoine.vigneau@sonarsource.com>2023-11-29 16:36:40 +0100
committersonartech <sonartech@sonarsource.com>2023-12-22 20:03:01 +0000
commit3cbfd8163ffdc42f89631382031dd115c0df65b6 (patch)
tree0feaff8db3c929e416d1cafdfb6bee6e162ba562 /server/sonar-auth-gitlab/src/test/java
parent5cd396ce0569610969c9610b99fc40c97703734e (diff)
downloadsonarqube-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.java2
-rw-r--r--server/sonar-auth-gitlab/src/test/java/org/sonar/auth/gitlab/GitLabSettingsTest.java48
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");
+ }
+
}
+