]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-21881 Fix SSF-569 on the LTS
authorBogdana <bogdana.kushnir@sonarsource.com>
Wed, 20 Mar 2024 10:32:10 +0000 (12:32 +0200)
committersonartech <sonartech@sonarsource.com>
Wed, 20 Mar 2024 20:02:43 +0000 (20:02 +0000)
server/sonar-web/src/main/js/apps/settings/components/almIntegration/BitbucketServerForm.tsx
server/sonar-web/src/main/js/apps/settings/components/almIntegration/GitlabForm.tsx
server/sonar-web/src/main/js/apps/settings/components/almIntegration/__tests__/__snapshots__/BitbucketServerForm-test.tsx.snap
server/sonar-web/src/main/js/apps/settings/components/almIntegration/__tests__/__snapshots__/GitlabForm-test.tsx.snap
server/sonar-webserver-webapi/src/main/java/org/sonar/server/almsettings/ws/UpdateGitlabAction.java
server/sonar-webserver-webapi/src/test/java/org/sonar/server/almsettings/ws/UpdateGitlabActionTest.java
sonar-core/src/main/resources/org/sonar/l10n/core.properties

index 946974835ecbf5eec98a677754eec996a5e132d8..2d6d7ae09c7cc5a26e2f82aa1c9a8e96259f4508 100644 (file)
@@ -51,7 +51,7 @@ export default function BitbucketServerForm(props: BitbucketServerFormProps) {
             {translate('settings.almintegration.form.url.bitbucket.help')}
             <br />
             <br />
-            {translate('settings.almintegration.form.url.bitbucket.pat_warning')}
+            {translate('settings.almintegration.form.url.pat_warning')}
           </>
         }
         id="url.bitbucket"
index f9958efcefcf20e86c019a7af84f18ba0f9b65f9..542aaadbc7c47e0417fe1f9afdf9e45ba666396e 100644 (file)
@@ -51,6 +51,9 @@ export default function GitlabForm(props: GitlabFormProps) {
             {translate('settings.almintegration.form.url.gitlab.help')}
             <br />
             <em>https://gitlab.com/api/v4</em>
+            <br />
+            <br />
+            {translate('settings.almintegration.form.url.pat_warning')}
           </>
         }
         id="url.gitlab"
index 7b392e018eb0fcdd0465e89c4042bbd63af2aa50..b850a6aea2208a03f5816f7d9f52a276958f5ed4 100644 (file)
@@ -17,7 +17,7 @@ exports[`should render correctly 1`] = `
         settings.almintegration.form.url.bitbucket.help
         <br />
         <br />
-        settings.almintegration.form.url.bitbucket.pat_warning
+        settings.almintegration.form.url.pat_warning
       </React.Fragment>
     }
     id="url.bitbucket"
index c7707c964b80b71313bfff4d5c0c1aaf37681815..ae1ecf4620d86971e1e7f8329cce22974f763f32 100644 (file)
@@ -19,6 +19,9 @@ exports[`should render correctly 1`] = `
         <em>
           https://gitlab.com/api/v4
         </em>
+        <br />
+        <br />
+        settings.almintegration.form.url.pat_warning
       </React.Fragment>
     }
     id="url.gitlab"
@@ -86,6 +89,9 @@ exports[`should render correctly 2`] = `
         <em>
           https://gitlab.com/api/v4
         </em>
+        <br />
+        <br />
+        settings.almintegration.form.url.pat_warning
       </React.Fragment>
     }
     id="url.gitlab"
index 4e1e08acd37a84bd67cd4175b99eb09d52607313..fbab3b5eb8bb6d635b0636c451170aff9ef2a700 100644 (file)
@@ -96,6 +96,8 @@ public class UpdateGitlabAction implements AlmSettingsWsAction {
         almSettingsSupport.checkAlmSettingDoesNotAlreadyExist(dbSession, newKey);
       }
 
+      almSettingsSupport.checkPatOnUrlUpdate(almSettingDto, url, pat);
+
       if (isNotBlank(pat)) {
         almSettingDto.setPersonalAccessToken(pat);
       }
index 643951434b0f8025d2264c104c784b3e9ea499bf..e125fe838b783120cd09c409c39ca371577bdfcb 100644 (file)
@@ -78,7 +78,7 @@ public class UpdateGitlabActionTest {
   }
 
   @Test
-  public void update_with_url() {
+  public void update_with_url_needs_pat() {
     UserDto user = db.users().insertUser();
     userSession.logIn(user).setSystemAdministrator();
 
@@ -114,19 +114,19 @@ public class UpdateGitlabActionTest {
   }
 
   @Test
-  public void update_without_pat() {
+  public void fail_when_url_updated_without_pat() {
     UserDto user = db.users().insertUser();
     userSession.logIn(user).setSystemAdministrator();
 
     AlmSettingDto almSettingDto = db.almSettings().insertGitlabAlmSetting();
 
-    ws.newRequest()
+    TestRequest request = ws.newRequest()
       .setParam("key", almSettingDto.getKey())
-      .setParam("url", GITLAB_URL)
-      .execute();
-    assertThat(db.getDbClient().almSettingDao().selectAll(db.getSession()))
-      .extracting(AlmSettingDto::getKey, AlmSettingDto::getUrl, s -> s.getDecryptedPersonalAccessToken(encryption))
-      .containsOnly(tuple(almSettingDto.getKey(), GITLAB_URL, almSettingDto.getDecryptedPersonalAccessToken(encryption)));
+      .setParam("url", GITLAB_URL);
+
+    assertThatThrownBy(() -> request.execute())
+      .isInstanceOf(IllegalArgumentException.class)
+      .hasMessage("Please provide the Personal Access Token to update the URL.");
   }
 
   @Test
index c2195410c7279ae05464c50384483a4298370b63..fabcfb1630c7d353ea0545049377f408e483193f 100644 (file)
@@ -1229,13 +1229,13 @@ settings.almintegration.form.url.azure.help1=For Azure DevOps Server, provide th
 settings.almintegration.form.url.azure.help2=For Azure DevOps Services, provide the full organization URL:
 settings.almintegration.form.url.bitbucket=Bitbucket Server URL
 settings.almintegration.form.url.bitbucket.help=Example: https://bitbucket-server.your-company.com
-settings.almintegration.form.url.bitbucket.pat_warning=For security reasons, please make sure to provide the Personal Access Token to update the URL.
 settings.almintegration.form.url.github=GitHub API URL
 settings.almintegration.form.url.github.help1=Example for Github Enterprise:
 settings.almintegration.form.url.github.help2=If using GitHub.com:
 settings.almintegration.form.url.github.private_key_warning=For security reasons, please make sure to provide the GitHub App private key to update the URL.
 settings.almintegration.form.url.gitlab=GitLab API URL
 settings.almintegration.form.url.gitlab.help=Provide the GitLab API URL. For example:
+settings.almintegration.form.url.pat_warning=For security reasons, please make sure to provide the Personal Access Token to update the URL.
 settings.almintegration.form.app_id=GitHub App ID
 settings.almintegration.form.client_id.github=Client ID
 settings.almintegration.form.client_id.github.help=The Client ID is found on your GitHub App's page.