use of org.sonar.db.qualitygate.QualityGateDto in project sonarqube by SonarSource.
the class QualityGatesTest method should_get_qgate_by_name.
@Test
public void should_get_qgate_by_name() {
long id = QUALITY_GATE_ID;
final String name = "Golden";
QualityGateDto existing = new QualityGateDto().setId(id).setName(name);
when(dao.selectByName(dbSession, name)).thenReturn(existing);
assertThat(underTest.get(name)).isEqualTo(existing);
verify(dao).selectByName(dbSession, name);
}
use of org.sonar.db.qualitygate.QualityGateDto in project sonarqube by SonarSource.
the class QualityGatesTest method should_return_default_qgate_if_set.
@Test
public void should_return_default_qgate_if_set() {
String defaultName = "Sonar way";
long defaultId = QUALITY_GATE_ID;
when(propertiesDao.selectGlobalProperty("sonar.qualitygate")).thenReturn(new PropertyDto().setValue(Long.toString(defaultId)));
QualityGateDto defaultQgate = new QualityGateDto().setId(defaultId).setName(defaultName);
when(dao.selectById(dbSession, defaultId)).thenReturn(defaultQgate);
assertThat(underTest.getDefault()).isEqualTo(defaultQgate);
}
use of org.sonar.db.qualitygate.QualityGateDto in project sonarqube by SonarSource.
the class QualityGatesTest method should_delete_qgate.
@Test
public void should_delete_qgate() {
long idToDelete = QUALITY_GATE_ID;
String name = "To Delete";
QualityGateDto toDelete = new QualityGateDto().setId(idToDelete).setName(name);
when(dao.selectById(dbSession, idToDelete)).thenReturn(toDelete);
when(dbClient.openSession(false)).thenReturn(dbSession);
underTest.delete(idToDelete);
verify(dao).selectById(dbSession, idToDelete);
verify(propertiesDao).deleteProjectProperties("sonar.qualitygate", "42", dbSession);
verify(dao).delete(toDelete, dbSession);
}
use of org.sonar.db.qualitygate.QualityGateDto in project sonarqube by SonarSource.
the class ComponentActionTest method test_example_response.
@Test
public void test_example_response() throws Exception {
init(createPages());
OrganizationDto organizationDto = dbTester.organizations().insertForKey("my-org-1");
ComponentDto project = newProjectDto(organizationDto, "ABCD").setKey("org.codehaus.sonar:sonar").setName("Sonarqube").setDescription("Open source platform for continuous inspection of code quality");
componentDbTester.insertComponent(project);
SnapshotDto analysis = newAnalysis(project).setCreatedAt(DateUtils.parseDateTime("2016-12-06T11:44:00+0200").getTime()).setVersion("6.3").setLast(true);
componentDbTester.insertSnapshot(analysis);
when(resourceTypes.get(project.qualifier())).thenReturn(DefaultResourceTypes.get().getRootType());
UserDto user = dbTester.users().insertUser("obiwan");
propertyDbTester.insertProperty(new PropertyDto().setKey("favourite").setResourceId(project.getId()).setUserId(user.getId()));
addQualityProfiles(project, analysis, createQProfile("qp1", "Sonar Way Java", "java"), createQProfile("qp2", "Sonar Way Xoo", "xoo"));
QualityGateDto qualityGateDto = dbTester.qualityGates().insertQualityGate("Sonar way");
dbTester.qualityGates().associateProjectToQualityGate(project, qualityGateDto);
userSession.logIn(user).addProjectUuidPermissions(UserRole.USER, project.uuid()).addProjectUuidPermissions(UserRole.ADMIN, project.uuid());
String result = execute(project.key());
assertJson(result).ignoreFields("snapshotDate", "key", "qualityGate.key").isSimilarTo(ws.getDef().responseExampleAsString());
}
use of org.sonar.db.qualitygate.QualityGateDto in project sonarqube by SonarSource.
the class CreateAction method handle.
@Override
public void handle(Request request, Response response) {
userSession.checkPermission(OrganizationPermission.ADMINISTER_QUALITY_GATES, defaultOrganizationProvider.get().getUuid());
try (DbSession dbSession = dbClient.openSession(false)) {
QualityGateDto newQualityGate = qualityGateUpdater.create(dbSession, request.mandatoryParam(PARAM_NAME));
CreateWsResponse.Builder createWsResponse = CreateWsResponse.newBuilder().setId(newQualityGate.getId()).setName(newQualityGate.getName());
writeProtobuf(createWsResponse.build(), request, response);
dbSession.commit();
}
}
Aggregations