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
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
}
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()))));
}
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) {
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;
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
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());