aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-auth-github
diff options
context:
space:
mode:
authorAurelien Poscia <aurelien.poscia@sonarsource.com>2023-08-30 16:38:41 +0200
committersonartech <sonartech@sonarsource.com>2023-08-31 20:02:57 +0000
commit78c35b5c13dd82afd04a828c2653342585dff477 (patch)
tree4e22717c6c28d380c9ad7a9484dcc5d726172b70 /server/sonar-auth-github
parent1d8607c20141f313fd7a3c1e2ec8a5b6b05cb81a (diff)
downloadsonarqube-78c35b5c13dd82afd04a828c2653342585dff477.tar.gz
sonarqube-78c35b5c13dd82afd04a828c2653342585dff477.zip
SONAR-20309 Fail GH sync bg task, in case user consent is needed
Diffstat (limited to 'server/sonar-auth-github')
-rw-r--r--server/sonar-auth-github/src/main/java/org/sonar/auth/github/GitHubSettings.java6
-rw-r--r--server/sonar-auth-github/src/test/java/org/sonar/auth/github/GitHubSettingsTest.java12
2 files changed, 18 insertions, 0 deletions
diff --git a/server/sonar-auth-github/src/main/java/org/sonar/auth/github/GitHubSettings.java b/server/sonar-auth-github/src/main/java/org/sonar/auth/github/GitHubSettings.java
index 26fa5bc9392..620d7652df3 100644
--- a/server/sonar-auth-github/src/main/java/org/sonar/auth/github/GitHubSettings.java
+++ b/server/sonar-auth-github/src/main/java/org/sonar/auth/github/GitHubSettings.java
@@ -60,6 +60,8 @@ public class GitHubSettings {
public static final String ORGANIZATIONS = "sonar.auth.github.organizations";
@VisibleForTesting
static final String PROVISIONING = "provisioning.github.enabled";
+ @VisibleForTesting
+ static final String USER_CONSENT_FOR_PERMISSIONS_REQUIRED_AFTER_UPGRADE = "sonar.auth.github.userConsentForPermissionProvisioningRequired";
private static final String CATEGORY = "authentication";
private static final String SUBCATEGORY = "github";
@@ -160,6 +162,10 @@ public class GitHubSettings {
return isEnabled() && internalProperties.read(PROVISIONING).map(Boolean::parseBoolean).orElse(false);
}
+ public boolean isUserConsentRequiredAfterUpgrade() {
+ return configuration.get(USER_CONSENT_FOR_PERMISSIONS_REQUIRED_AFTER_UPGRADE).isPresent();
+ }
+
public static List<PropertyDefinition> definitions() {
int index = 1;
return Arrays.asList(
diff --git a/server/sonar-auth-github/src/test/java/org/sonar/auth/github/GitHubSettingsTest.java b/server/sonar-auth-github/src/test/java/org/sonar/auth/github/GitHubSettingsTest.java
index 5edd93d982c..fa31f09f9ce 100644
--- a/server/sonar-auth-github/src/test/java/org/sonar/auth/github/GitHubSettingsTest.java
+++ b/server/sonar-auth-github/src/test/java/org/sonar/auth/github/GitHubSettingsTest.java
@@ -36,6 +36,7 @@ import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import static org.sonar.auth.github.GitHubSettings.USER_CONSENT_FOR_PERMISSIONS_REQUIRED_AFTER_UPGRADE;
public class GitHubSettingsTest {
@Rule
@@ -102,6 +103,17 @@ public class GitHubSettingsTest {
}
@Test
+ public void isUserConsentRequiredAfterUpgrade_returnsFalseByDefault() {
+ assertThat(underTest.isUserConsentRequiredAfterUpgrade()).isFalse();
+ }
+
+ @Test
+ public void isUserConsentRequiredAfterUpgrade_returnsTrueIfPropertyPresent() {
+ settings.setProperty(USER_CONSENT_FOR_PERMISSIONS_REQUIRED_AFTER_UPGRADE, "");
+ assertThat(underTest.isUserConsentRequiredAfterUpgrade()).isTrue();
+ }
+
+ @Test
public void setProvisioning_whenGitHubAuthDisabled_shouldThrow() {
assertThatIllegalStateException()
.isThrownBy(() -> underTest.setProvisioning(true))