use of org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_GATES in project sonarqube by SonarSource.
the class ListActionTest method actions_with_quality_gate_administer_permission.
@Test
public void actions_with_quality_gate_administer_permission() {
userSession.logIn("john").addPermission(ADMINISTER_QUALITY_GATES);
QualityGateDto defaultQualityGate = db.qualityGates().insertQualityGate(qg -> qg.setName("Default").setBuiltIn(false));
QualityGateDto builtInQualityGate = db.qualityGates().insertQualityGate(qg -> qg.setName("Sonar way").setBuiltIn(true));
QualityGateDto otherQualityGate = db.qualityGates().insertQualityGate(qg -> qg.setName("Sonar way - Without Coverage").setBuiltIn(false));
db.qualityGates().setDefaultQualityGate(defaultQualityGate);
ListWsResponse response = ws.newRequest().executeProtobuf(ListWsResponse.class);
assertThat(response.getActions()).extracting(ListWsResponse.RootActions::getCreate).isEqualTo(true);
assertThat(response.getQualitygatesList()).extracting(QualityGate::getName, qg -> qg.getActions().getRename(), qg -> qg.getActions().getDelete(), qg -> qg.getActions().getManageConditions(), qp -> qp.getActions().getCopy(), qp -> qp.getActions().getSetAsDefault(), qp -> qp.getActions().getAssociateProjects(), qp -> qp.getActions().getDelegate()).containsExactlyInAnyOrder(tuple(defaultQualityGate.getName(), true, false, true, true, false, false, true), tuple(builtInQualityGate.getName(), false, false, false, true, true, true, false), tuple(otherQualityGate.getName(), true, true, true, true, true, true, true));
}
use of org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_GATES in project sonarqube by SonarSource.
the class SearchActionTest method test_pagination_on_many_pages.
@Test
public void test_pagination_on_many_pages() {
QualityGateDto qualityGate = db.qualityGates().insertQualityGate();
for (int i = 0; i < 20; i++) {
ProjectDto project = db.components().insertPublicProjectDto();
db.qualityGates().associateProjectToQualityGate(project, qualityGate);
}
userSession.addPermission(ADMINISTER_QUALITY_GATES);
SearchResponse response = ws.newRequest().setParam(PARAM_GATE_ID, valueOf(qualityGate.getUuid())).setParam(PARAM_PAGE_SIZE, valueOf(5)).setParam(PARAM_PAGE, valueOf(2)).executeProtobuf(SearchResponse.class);
assertThat(response).extracting(SearchResponse::getMore, searchResponse -> searchResponse.getPaging().getPageIndex(), searchResponse -> searchResponse.getPaging().getPageSize(), searchResponse -> searchResponse.getPaging().getTotal()).contains(true, 2, 5, 20);
}
use of org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_GATES in project sonarqube by SonarSource.
the class SearchActionTest method test_pagination_on_one_page.
@Test
public void test_pagination_on_one_page() {
QualityGateDto qualityGate = db.qualityGates().insertQualityGate();
for (int i = 0; i < 20; i++) {
ProjectDto project = db.components().insertPublicProjectDto();
db.qualityGates().associateProjectToQualityGate(project, qualityGate);
}
userSession.addPermission(ADMINISTER_QUALITY_GATES);
SearchResponse response = ws.newRequest().setParam(PARAM_GATE_ID, valueOf(qualityGate.getUuid())).setParam(PARAM_PAGE_SIZE, valueOf(100)).setParam(PARAM_PAGE, valueOf(1)).executeProtobuf(SearchResponse.class);
assertThat(response).extracting(SearchResponse::getMore, searchResponse -> searchResponse.getPaging().getPageIndex(), searchResponse -> searchResponse.getPaging().getPageSize(), searchResponse -> searchResponse.getPaging().getTotal()).contains(false, 1, 100, 20);
}
Aggregations