]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-10134 Fix test on QualityGateDao
authorEric Hartmann <hartmann.eric@gmail.com>
Fri, 8 Dec 2017 17:19:05 +0000 (18:19 +0100)
committerJulien Lancelot <julien.lancelot@sonarsource.com>
Thu, 14 Dec 2017 16:03:35 +0000 (17:03 +0100)
server/sonar-db-dao/src/test/java/org/sonar/db/qualitygate/QualityGateDaoTest.java
server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/QGateTester.java
server/sonar-server/src/main/java/org/sonar/server/organization/ws/DeleteAction.java
server/sonar-server/src/test/java/org/sonar/server/organization/ws/DeleteActionTest.java

index 8c950112625328f17b92f342f691105ec8c19609..ac27151a5bfdef7cfab1f3de83b8eff2bbb63767 100644 (file)
@@ -107,7 +107,7 @@ public class QualityGateDaoTest {
   public void testSelectById() {
     insertQualityGates();
     assertThat(underTest.selectById(dbSession, underTest.selectByName(dbSession, "Very strict").getId()).getName()).isEqualTo("Very strict");
-    assertThat(underTest.selectById(dbSession, 42L)).isNull();
+    assertThat(underTest.selectById(dbSession, -1L)).isNull();
   }
 
   @Test
@@ -185,16 +185,18 @@ public class QualityGateDaoTest {
     underTest.deleteByUuids(dbSession, asList(qualityGate1.getUuid(), qualityGate2.getUuid()));
     dbSession.commit();
 
-    assertThat(db.countRowsOfTable(dbSession, "quality_gates")).isZero();
-    assertThat(db.countRowsOfTable(dbSession, "org_quality_gates")).isZero();
+    assertThat(underTest.selectAll(dbSession, organization).stream())
+      .extracting(QualityGateDto::getUuid)
+      .doesNotContain(qualityGate1.getUuid(), qualityGate2.getUuid());
   }
 
   @Test
   public void delete_by_uuids_does_nothing_on_empty_list() {
+    int nbOfQualityGates = db.countRowsOfTable(dbSession, "quality_gates");
     underTest.deleteByUuids(dbSession, Collections.emptyList());
     dbSession.commit();
 
-    assertThat(db.countRowsOfTable(dbSession, "quality_gates")).isZero();
+    assertThat(db.countRowsOfTable(dbSession, "quality_gates")).isEqualTo(nbOfQualityGates);
   }
 
   @Test
index 86c330bee296877f9d523409f9078498642acff3..87eeca9a8da9c7676d4ead946cb60c743d317a20 100644 (file)
@@ -57,6 +57,7 @@ public class QGateTester {
     }
     session.wsClient().qualitygates().list().getQualitygatesList().stream()
       .filter(qualityGate -> !qualityGate.getIsDefault())
+      .filter(qualityGate -> !qualityGate.getIsBuiltIn())
       .forEach(qualityGate -> session.wsClient().qualitygates().destroy(new DestroyRequest().setId(Long.toString(qualityGate.getId()))));
   }
 
index 6a50ee5ef122709951ff4bbc1ef4e977cc791eb5..0e25904e76aa4ac07e962f9c374cdc7eee4cc5a2 100644 (file)
@@ -139,7 +139,10 @@ public class DeleteAction implements OrganizationsWsAction {
 
   private void deleteQualityGates(DbSession dbSession, OrganizationDto organization) {
     Collection<QualityGateDto> qualityGates = dbClient.qualityGateDao().selectAll(dbSession, organization);
-    dbClient.qualityGateDao().deleteByUuids(dbSession, qualityGates.stream().map(QualityGateDto::getUuid).collect(MoreCollectors.toList()));
+    dbClient.qualityGateDao().deleteByUuids(dbSession, qualityGates.stream()
+      .filter(q -> !q.isBuiltIn())
+      .map(QualityGateDto::getUuid)
+      .collect(MoreCollectors.toList()));
   }
 
   private void deleteOrganization(DbSession dbSession, OrganizationDto organization) {
index f6db373cd88ab891b5db515371b4ab3212933214..a03fce3d006655331450b9e170469a3a7706838e 100644 (file)
@@ -48,6 +48,7 @@ import org.sonar.server.exceptions.NotFoundException;
 import org.sonar.server.exceptions.UnauthorizedException;
 import org.sonar.server.organization.TestDefaultOrganizationProvider;
 import org.sonar.server.organization.TestOrganizationFlags;
+import org.sonar.server.qualitygate.QualityGateFinder;
 import org.sonar.server.qualityprofile.QProfileFactory;
 import org.sonar.server.qualityprofile.QProfileFactoryImpl;
 import org.sonar.server.qualityprofile.index.ActiveRuleIndexer;
@@ -88,7 +89,7 @@ public class DeleteActionTest {
   private QProfileFactory qProfileFactory = new QProfileFactoryImpl(dbClient, mock(UuidFactory.class), System2.INSTANCE, mock(ActiveRuleIndexer.class));
   private UserIndex userIndex = new UserIndex(es.client(), System2.INSTANCE);
   private UserIndexer userIndexer = new UserIndexer(dbClient, es.client());
-
+  private QualityGateFinder qualityGateFinder = new QualityGateFinder(dbClient);
   private WsActionTester wsTester = new WsActionTester(new DeleteAction(userSession, dbClient, defaultOrganizationProvider, componentCleanerService, organizationFlags, userIndexer, qProfileFactory));
 
   @Test
@@ -362,7 +363,7 @@ public class DeleteActionTest {
     verifyOrganizationDoesNotExist(org);
     assertThat(db.select("select uuid as \"uuid\" from quality_gates"))
       .extracting(row -> (String) row.get("uuid"))
-      .containsOnly(qualityGateInOtherOrg.getUuid());
+      .containsOnly(qualityGateInOtherOrg.getUuid(), qualityGateFinder.getBuiltInQualityGate(db.getSession()).getUuid());
     assertThat(db.select("select organization_uuid as \"organizationUuid\" from org_quality_gates"))
       .extracting(row -> (String) row.get("organizationUuid"))
       .containsOnly(otherOrg.getUuid());