aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntoine Vinot <antoine.vinot@sonarsource.com>2023-06-16 16:24:01 +0200
committersonartech <sonartech@sonarsource.com>2023-06-20 15:13:44 +0000
commitd88e8c78465c4673fc6df8f1745788c799490c8e (patch)
tree5ae930af4a8a11dfab20ec1d5614e8a66ffc2ef3
parent4324e6d6325655ccfa50331388cc1fa4d06a533c (diff)
downloadsonarqube-d88e8c78465c4673fc6df8f1745788c799490c8e.tar.gz
sonarqube-d88e8c78465c4673fc6df8f1745788c799490c8e.zip
SONAR-15075 - Add analysis warning if missing contents read permission for GH private repo.
-rw-r--r--server/sonar-alm-client/src/main/java/org/sonar/alm/client/github/GithubBinding.java10
-rw-r--r--server/sonar-alm-client/src/test/java/org/sonar/alm/client/github/config/GithubProvisioningConfigValidatorTest.java6
2 files changed, 12 insertions, 4 deletions
diff --git a/server/sonar-alm-client/src/main/java/org/sonar/alm/client/github/GithubBinding.java b/server/sonar-alm-client/src/main/java/org/sonar/alm/client/github/GithubBinding.java
index a7c53ee975a..779fefbadd5 100644
--- a/server/sonar-alm-client/src/main/java/org/sonar/alm/client/github/GithubBinding.java
+++ b/server/sonar-alm-client/src/main/java/org/sonar/alm/client/github/GithubBinding.java
@@ -148,11 +148,14 @@ public class GithubBinding {
String members;
@SerializedName("emails")
String emails;
+ @SerializedName("contents")
+ String contents;
- public Permissions(@Nullable String checks, @Nullable String members, @Nullable String emails) {
+ public Permissions(@Nullable String checks, @Nullable String members, @Nullable String emails, @Nullable String contents) {
this.checks = checks;
this.members = members;
this.emails = emails;
+ this.contents = contents;
}
public Permissions() {
@@ -175,6 +178,11 @@ public class GithubBinding {
public String getEmails() {
return emails;
}
+
+ @CheckForNull
+ public String getContents() {
+ return contents;
+ }
}
public static class GsonRepositorySearch {
diff --git a/server/sonar-alm-client/src/test/java/org/sonar/alm/client/github/config/GithubProvisioningConfigValidatorTest.java b/server/sonar-alm-client/src/test/java/org/sonar/alm/client/github/config/GithubProvisioningConfigValidatorTest.java
index 6adc3467973..2d64e2b4a5c 100644
--- a/server/sonar-alm-client/src/test/java/org/sonar/alm/client/github/config/GithubProvisioningConfigValidatorTest.java
+++ b/server/sonar-alm-client/src/test/java/org/sonar/alm/client/github/config/GithubProvisioningConfigValidatorTest.java
@@ -166,7 +166,7 @@ public class GithubProvisioningConfigValidatorTest {
ArgumentCaptor<GithubAppConfiguration> appConfigurationCaptor = ArgumentCaptor.forClass(GithubAppConfiguration.class);
GsonApp githubApp = mockGithubApp(appConfigurationCaptor);
- when(githubApp.getPermissions()).thenReturn(new Permissions(null, null, "read"));
+ when(githubApp.getPermissions()).thenReturn(new Permissions(null, null, "read", null));
mockOrganizations(appConfigurationCaptor, "org1", "org2");
ConfigCheckResult checkResult = configValidator.checkConfig();
@@ -268,7 +268,7 @@ public class GithubProvisioningConfigValidatorTest {
private GsonApp mockGithubAppWithValidConfig(ArgumentCaptor<GithubAppConfiguration> appConfigurationCaptor) {
GsonApp githubApp = mock(GsonApp.class);
when(githubClient.getApp(appConfigurationCaptor.capture())).thenReturn(githubApp);
- when(githubApp.getPermissions()).thenReturn(new Permissions(null, "read", "read"));
+ when(githubApp.getPermissions()).thenReturn(new Permissions(null, "read", "read", null));
return githubApp;
}
@@ -299,7 +299,7 @@ public class GithubProvisioningConfigValidatorTest {
private static GithubAppInstallation mockInstallationWithMembersPermission(String org) {
GithubAppInstallation installation = mockInstallation(org);
- when(installation.permissions()).thenReturn(new Permissions(null, "read", "read"));
+ when(installation.permissions()).thenReturn(new Permissions(null, "read", "read", null));
return installation;
}