]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-14805 use almRepo to store BBC repository slug
authorZipeng WU <zipeng.wu@sonarsource.com>
Thu, 20 May 2021 14:02:23 +0000 (16:02 +0200)
committersonartech <sonartech@sonarsource.com>
Fri, 21 May 2021 20:03:37 +0000 (20:03 +0000)
server/sonar-webserver-webapi/src/main/java/org/sonar/server/almintegration/ws/bitbucketcloud/ImportBitbucketCloudRepoAction.java
server/sonar-webserver-webapi/src/main/java/org/sonar/server/almintegration/ws/bitbucketcloud/SearchBitbucketCloudReposAction.java
server/sonar-webserver-webapi/src/test/java/org/sonar/server/almintegration/ws/bitbucketcloud/ImportBitbucketCloudRepoActionTest.java
server/sonar-webserver-webapi/src/test/java/org/sonar/server/almintegration/ws/bitbucketcloud/SearchBitbucketCloudReposActionTest.java

index 063d53fd2fa4c99433fa74d1a22de9f4db46c702..6c69b4410c218f4e2f5420945071f9da801abf25 100644 (file)
@@ -139,9 +139,8 @@ public class ImportBitbucketCloudRepoAction implements AlmIntegrationsWsAction {
   private void populatePRSetting(DbSession dbSession, Repository repo, ComponentDto componentDto, AlmSettingDto almSettingDto) {
     ProjectAlmSettingDto projectAlmSettingDto = new ProjectAlmSettingDto()
       .setAlmSettingUuid(almSettingDto.getUuid())
-      // PR decoration reads almRepo
+      // Bitbucket Cloud PR decoration reads almRepo
       .setAlmRepo(repo.getSlug())
-      .setAlmSlug(repo.getSlug())
       .setProjectUuid(componentDto.uuid())
       .setMonorepo(false);
     dbClient.projectAlmSettingDao().insertOrUpdate(dbSession, projectAlmSettingDto);
index 5675392144ebcf4331a6f95daa0de657d14e8d31..191d0b440b70076a5d9943bc241aecc0171241aa 100644 (file)
@@ -135,12 +135,12 @@ public class SearchBitbucketCloudReposAction implements AlmIntegrationsWsAction
   }
 
   private Map<String, String> getSqProjectKeyByRepoSlug(DbSession dbSession, AlmSettingDto almSettingDto, List<Repository> repositories) {
-    Set<String> slugs = repositories.stream().map(Repository::getSlug).collect(toSet());
+    Set<String> repoSlugs = repositories.stream().map(Repository::getSlug).collect(toSet());
 
-    List<ProjectAlmSettingDto> projectAlmSettingDtos = dbClient.projectAlmSettingDao().selectByAlmSettingAndSlugs(dbSession, almSettingDto, slugs);
+    List<ProjectAlmSettingDto> projectAlmSettingDtos = dbClient.projectAlmSettingDao().selectByAlmSettingAndRepos(dbSession, almSettingDto, repoSlugs);
 
     Map<String, String> repoSlugByProjectUuid = projectAlmSettingDtos.stream()
-      .collect(toMap(ProjectAlmSettingDto::getProjectUuid, ProjectAlmSettingDto::getAlmSlug));
+      .collect(toMap(ProjectAlmSettingDto::getProjectUuid, ProjectAlmSettingDto::getAlmRepo));
 
     return dbClient.projectDao().selectByUuids(dbSession, repoSlugByProjectUuid.keySet())
       .stream()
index b13cdfed22f25cb1f408a580b2999a927cdc9a4e..78af3c2c9a196a52b248c3c1f4aee1cab3efb9a4 100644 (file)
@@ -34,6 +34,7 @@ import org.sonar.core.util.SequenceUuidFactory;
 import org.sonar.db.DbTester;
 import org.sonar.db.alm.pat.AlmPatDto;
 import org.sonar.db.alm.setting.AlmSettingDto;
+import org.sonar.db.alm.setting.ProjectAlmSettingDto;
 import org.sonar.db.component.BranchDto;
 import org.sonar.db.project.ProjectDto;
 import org.sonar.db.user.UserDto;
@@ -107,7 +108,9 @@ public class ImportBitbucketCloudRepoActionTest {
 
     Optional<ProjectDto> projectDto = db.getDbClient().projectDao().selectProjectByKey(db.getSession(), result.getKey());
     assertThat(projectDto).isPresent();
-    assertThat(db.getDbClient().projectAlmSettingDao().selectByProject(db.getSession(), projectDto.get())).isPresent();
+    Optional<ProjectAlmSettingDto> projectAlmSettingDto = db.getDbClient().projectAlmSettingDao().selectByProject(db.getSession(), projectDto.get());
+    assertThat(projectAlmSettingDto).isPresent();
+    assertThat(projectAlmSettingDto.get().getAlmRepo()).isEqualTo("repo-slug-1");
 
     Optional<BranchDto> branchDto = db.getDbClient().branchDao().selectByBranchKey(db.getSession(), projectDto.get().getUuid(), "develop");
     assertThat(branchDto).isPresent();
index 4d4ded4f9a17b82934a70f9b19cdcc7938336606..14175d4d25f4f52e831b89af7ceaa028513c1547 100644 (file)
@@ -77,7 +77,7 @@ public class SearchBitbucketCloudReposActionTest {
       dto.setUserUuid(user.getUuid());
     });
     ProjectDto projectDto = db.components().insertPrivateProjectDto();
-    db.almSettings().insertBitbucketCloudProjectAlmSetting(almSetting, projectDto, s -> s.setAlmSlug("repo-slug-2"));
+    db.almSettings().insertBitbucketCloudProjectAlmSetting(almSetting, projectDto, s -> s.setAlmRepo("repo-slug-2"));
 
     SearchBitbucketcloudReposWsResponse response = ws.newRequest()
       .setParam("almSetting", almSetting.getKey())
@@ -107,8 +107,8 @@ public class SearchBitbucketCloudReposActionTest {
     });
     ProjectDto project1 = db.components().insertPrivateProjectDto(p -> p.setDbKey("B"));
     ProjectDto project2 = db.components().insertPrivateProjectDto(p -> p.setDbKey("A"));
-    db.almSettings().insertBitbucketProjectAlmSetting(almSetting, project1, s -> s.setAlmSlug("repo-slug-2"));
-    db.almSettings().insertBitbucketProjectAlmSetting(almSetting, project2, s -> s.setAlmSlug("repo-slug-2"));
+    db.almSettings().insertBitbucketProjectAlmSetting(almSetting, project1, s -> s.setAlmRepo("repo-slug-2"));
+    db.almSettings().insertBitbucketProjectAlmSetting(almSetting, project2, s -> s.setAlmRepo("repo-slug-2"));
 
     SearchBitbucketcloudReposWsResponse response = ws.newRequest()
       .setParam("almSetting", almSetting.getKey())
@@ -134,7 +134,7 @@ public class SearchBitbucketCloudReposActionTest {
       dto.setUserUuid(user.getUuid());
     });
     ProjectDto projectDto = db.components().insertPrivateProjectDto();
-    db.almSettings().insertBitbucketCloudProjectAlmSetting(almSetting, projectDto, s -> s.setAlmRepo("projectKey2"), s -> s.setAlmSlug("repo-slug-2"));
+    db.almSettings().insertBitbucketCloudProjectAlmSetting(almSetting, projectDto, s -> s.setAlmRepo("repo-slug-2"));
 
     SearchBitbucketcloudReposWsResponse response = ws.newRequest()
       .setParam("almSetting", almSetting.getKey())