Search in sources :

Example 6 with SearchResponse

use of org.sonarqube.ws.Qualitygates.SearchResponse 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);
}
Also used : ProjectDto(org.sonar.db.project.ProjectDto) UserDto(org.sonar.db.user.UserDto) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) PARAM_PAGE_SIZE(org.sonar.server.qualitygate.ws.QualityGatesWsParameters.PARAM_PAGE_SIZE) ALL(org.sonar.api.server.ws.WebService.SelectionMode.ALL) AssertionsForClassTypes.tuple(org.assertj.core.api.AssertionsForClassTypes.tuple) SELECTED(org.sonar.api.server.ws.WebService.SelectionMode.SELECTED) WebService(org.sonar.api.server.ws.WebService) Assertions.assertThatThrownBy(org.assertj.core.api.Assertions.assertThatThrownBy) PARAM_PAGE(org.sonar.server.qualitygate.ws.QualityGatesWsParameters.PARAM_PAGE) PARAM_GATE_ID(org.sonar.server.qualitygate.ws.QualityGatesWsParameters.PARAM_GATE_ID) TestComponentFinder(org.sonar.server.component.TestComponentFinder) UserSessionRule(org.sonar.server.tester.UserSessionRule) ADMINISTER_QUALITY_GATES(org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_GATES) DbTester(org.sonar.db.DbTester) USER(org.sonar.api.web.UserRole.USER) SearchResponse(org.sonarqube.ws.Qualitygates.SearchResponse) Test(org.junit.Test) QualityGateDto(org.sonar.db.qualitygate.QualityGateDto) WsActionTester(org.sonar.server.ws.WsActionTester) NotFoundException(org.sonar.server.exceptions.NotFoundException) PARAM_SELECTED(org.sonarqube.ws.client.user.UsersWsParameters.PARAM_SELECTED) DbClient(org.sonar.db.DbClient) Result(org.sonarqube.ws.Qualitygates.SearchResponse.Result) ComponentDto(org.sonar.db.component.ComponentDto) Rule(org.junit.Rule) String.valueOf(java.lang.String.valueOf) DESELECTED(org.sonar.api.server.ws.WebService.SelectionMode.DESELECTED) ProjectDto(org.sonar.db.project.ProjectDto) QualityGateDto(org.sonar.db.qualitygate.QualityGateDto) SearchResponse(org.sonarqube.ws.Qualitygates.SearchResponse) Test(org.junit.Test)

Example 7 with SearchResponse

use of org.sonarqube.ws.Qualitygates.SearchResponse in project sonarqube by SonarSource.

the class SearchActionTest method return_all_projects.

@Test
public void return_all_projects() {
    QualityGateDto qualityGate = db.qualityGates().insertQualityGate();
    ProjectDto unassociatedProject = db.components().insertPublicProjectDto();
    ProjectDto associatedProject = db.components().insertPublicProjectDto();
    db.qualityGates().associateProjectToQualityGate(associatedProject, qualityGate);
    SearchResponse response = ws.newRequest().setParam(PARAM_GATE_ID, valueOf(qualityGate.getUuid())).setParam(PARAM_SELECTED, ALL.value()).executeProtobuf(SearchResponse.class);
    assertThat(response.getResultsList()).extracting(Result::getName, Result::getKey, Result::getSelected).containsExactlyInAnyOrder(tuple(associatedProject.getName(), associatedProject.getKey(), true), tuple(unassociatedProject.getName(), unassociatedProject.getKey(), false));
}
Also used : ProjectDto(org.sonar.db.project.ProjectDto) QualityGateDto(org.sonar.db.qualitygate.QualityGateDto) SearchResponse(org.sonarqube.ws.Qualitygates.SearchResponse) Test(org.junit.Test)

Example 8 with SearchResponse

use of org.sonarqube.ws.Qualitygates.SearchResponse in project sonarqube by SonarSource.

the class SearchActionTest method return_only_associated_project.

@Test
public void return_only_associated_project() {
    QualityGateDto qualityGate = db.qualityGates().insertQualityGate();
    ProjectDto associatedProject = db.components().insertPublicProjectDto();
    ProjectDto unassociatedProject = db.components().insertPublicProjectDto();
    db.qualityGates().associateProjectToQualityGate(associatedProject, qualityGate);
    SearchResponse response = ws.newRequest().setParam(PARAM_GATE_ID, valueOf(qualityGate.getUuid())).setParam(PARAM_SELECTED, SELECTED.value()).executeProtobuf(SearchResponse.class);
    assertThat(response.getResultsList()).extracting(Result::getName, Result::getSelected).containsExactlyInAnyOrder(tuple(associatedProject.getName(), true)).doesNotContain(tuple(unassociatedProject.getName(), false));
}
Also used : ProjectDto(org.sonar.db.project.ProjectDto) QualityGateDto(org.sonar.db.qualitygate.QualityGateDto) SearchResponse(org.sonarqube.ws.Qualitygates.SearchResponse) Result(org.sonarqube.ws.Qualitygates.SearchResponse.Result) Test(org.junit.Test)

Example 9 with SearchResponse

use of org.sonarqube.ws.Qualitygates.SearchResponse in project sonarqube by SonarSource.

the class SearchActionTest method search_projects_of_a_quality_gate.

@Test
public void search_projects_of_a_quality_gate() {
    ComponentDto project = db.components().insertPublicProject();
    QualityGateDto qualityGate = db.qualityGates().insertQualityGate();
    db.qualityGates().associateProjectToQualityGate(db.components().getProjectDto(project), qualityGate);
    SearchResponse response = ws.newRequest().setParam(PARAM_GATE_ID, valueOf(qualityGate.getUuid())).executeProtobuf(SearchResponse.class);
    assertThat(response.getResultsList()).extracting(Result::getKey, Result::getName).containsExactlyInAnyOrder(tuple(project.getKey(), project.name()));
}
Also used : ComponentDto(org.sonar.db.component.ComponentDto) QualityGateDto(org.sonar.db.qualitygate.QualityGateDto) SearchResponse(org.sonarqube.ws.Qualitygates.SearchResponse) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)9 QualityGateDto (org.sonar.db.qualitygate.QualityGateDto)9 SearchResponse (org.sonarqube.ws.Qualitygates.SearchResponse)9 ComponentDto (org.sonar.db.component.ComponentDto)5 ProjectDto (org.sonar.db.project.ProjectDto)5 Result (org.sonarqube.ws.Qualitygates.SearchResponse.Result)5 UserDto (org.sonar.db.user.UserDto)3 String.valueOf (java.lang.String.valueOf)2 Assertions.assertThat (org.assertj.core.api.Assertions.assertThat)2 Assertions.assertThatThrownBy (org.assertj.core.api.Assertions.assertThatThrownBy)2 AssertionsForClassTypes.tuple (org.assertj.core.api.AssertionsForClassTypes.tuple)2 Rule (org.junit.Rule)2 WebService (org.sonar.api.server.ws.WebService)2 ALL (org.sonar.api.server.ws.WebService.SelectionMode.ALL)2 DESELECTED (org.sonar.api.server.ws.WebService.SelectionMode.DESELECTED)2 SELECTED (org.sonar.api.server.ws.WebService.SelectionMode.SELECTED)2 USER (org.sonar.api.web.UserRole.USER)2 DbClient (org.sonar.db.DbClient)2 DbTester (org.sonar.db.DbTester)2 ADMINISTER_QUALITY_GATES (org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_GATES)2