diff options
author | Antoine Vinot <antoine.vinot@sonarsource.com> | 2023-06-16 16:24:01 +0200 |
---|---|---|
committer | sonartech <sonartech@sonarsource.com> | 2023-06-20 15:13:44 +0000 |
commit | d88e8c78465c4673fc6df8f1745788c799490c8e (patch) | |
tree | 5ae930af4a8a11dfab20ec1d5614e8a66ffc2ef3 | |
parent | 4324e6d6325655ccfa50331388cc1fa4d06a533c (diff) | |
download | sonarqube-d88e8c78465c4673fc6df8f1745788c799490c8e.tar.gz sonarqube-d88e8c78465c4673fc6df8f1745788c799490c8e.zip |
SONAR-15075 - Add analysis warning if missing contents read permission for GH private repo.
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; } |