From: Antoine Vinot Date: Fri, 16 Jun 2023 14:24:01 +0000 (+0200) Subject: SONAR-15075 - Add analysis warning if missing contents read permission for GH private... X-Git-Tag: 10.2.0.77647~609 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=d88e8c78465c4673fc6df8f1745788c799490c8e;p=sonarqube.git SONAR-15075 - Add analysis warning if missing contents read permission for GH private repo. --- 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 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 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; }