Search in sources :

Example 1 with Result

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

the class SearchActionTest method return_only_unassociated_project.

@Test
public void return_only_unassociated_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, DESELECTED.value()).executeProtobuf(SearchResponse.class);
    assertThat(response.getResultsList()).extracting(Result::getName, Result::getSelected).containsExactlyInAnyOrder(tuple(unassociatedProject.getName(), false)).doesNotContain(tuple(associatedProject.getName(), true));
}
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 2 with Result

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

the class SearchActionTest method return_only_authorized_projects.

@Test
public void return_only_authorized_projects() {
    QualityGateDto qualityGate = db.qualityGates().insertQualityGate();
    ComponentDto project1 = db.components().insertPrivateProject();
    ComponentDto project2 = db.components().insertPrivateProject();
    UserDto user = db.users().insertUser();
    // User can only see project1 1
    db.users().insertProjectPermissionOnUser(user, USER, project1);
    userSession.logIn(user);
    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).containsExactlyInAnyOrder(project1.name()).doesNotContain(project2.name());
}
Also used : UserDto(org.sonar.db.user.UserDto) ComponentDto(org.sonar.db.component.ComponentDto) QualityGateDto(org.sonar.db.qualitygate.QualityGateDto) SearchResponse(org.sonarqube.ws.Qualitygates.SearchResponse) Result(org.sonarqube.ws.Qualitygates.SearchResponse.Result) Test(org.junit.Test)

Example 3 with Result

use of org.sonarqube.ws.Qualitygates.SearchResponse.Result 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)

Aggregations

Test (org.junit.Test)3 QualityGateDto (org.sonar.db.qualitygate.QualityGateDto)3 SearchResponse (org.sonarqube.ws.Qualitygates.SearchResponse)3 Result (org.sonarqube.ws.Qualitygates.SearchResponse.Result)3 ProjectDto (org.sonar.db.project.ProjectDto)2 ComponentDto (org.sonar.db.component.ComponentDto)1 UserDto (org.sonar.db.user.UserDto)1