@Test public void return_undefined_status_if_specified_analysis_is_not_found() { OrganizationDto organization = db.organizations().insert(); ComponentDto project = db.components().insertPrivateProject(organization); SnapshotDto snapshot = dbClient.snapshotDao().insert(dbSession, newAnalysis(project)); dbSession.commit(); userSession.addProjectPermission(UserRole.USER, project); ProjectStatusResponse result = ws.newRequest() .setParam(PARAM_ANALYSIS_ID, snapshot.getUuid()) .executeProtobuf(ProjectStatusResponse.class); assertThat(result.getProjectStatus().getStatus()).isEqualTo(Status.NONE); assertThat(result.getProjectStatus().getConditionsCount()).isEqualTo(0); }
private ProjectStatusResponse doHandle(DbSession dbSession, @Nullable String analysisId, @Nullable String projectId, @Nullable String projectKey) { ProjectAndSnapshot projectAndSnapshot = getProjectAndSnapshot(dbSession, analysisId, projectId, projectKey); checkPermission(projectAndSnapshot.project); Optional<String> measureData = loadQualityGateDetails(dbSession, projectAndSnapshot, analysisId != null); return ProjectStatusResponse.newBuilder() .setProjectStatus(new QualityGateDetailsFormatter(measureData, projectAndSnapshot.snapshotDto).format()) .build(); }
/** * * This is part of the internal API. * This is a GET request. * @see <a href="https://next.sonarqube.com/sonarqube/web_api/api/qualitygates/project_status">Further information about this action online (including a response example)</a> * @since 5.3 */ public ProjectStatusResponse projectStatus(ProjectStatusRequest request) { return call( new GetRequest(path("project_status")) .setParam("analysisId", request.getAnalysisId()) .setParam("projectId", request.getProjectId()) .setParam("projectKey", request.getProjectKey()), ProjectStatusResponse.parser()); }
private ProjectStatusResponse doHandle(DbSession dbSession, @Nullable String analysisId, @Nullable String projectId, @Nullable String projectKey) { ProjectAndSnapshot projectAndSnapshot = getProjectAndSnapshot(dbSession, analysisId, projectId, projectKey); checkPermission(projectAndSnapshot.project); Optional<String> measureData = loadQualityGateDetails(dbSession, projectAndSnapshot, analysisId != null); return ProjectStatusResponse.newBuilder() .setProjectStatus(new QualityGateDetailsFormatter(measureData, projectAndSnapshot.snapshotDto).format()) .build(); }
private Qualitygates.ProjectStatusResponse.ProjectStatus checkQualityGate(String analysisId) { LOG.debug("Requesting quality gate status for analysisId {}", analysisId); Qualitygates.ProjectStatusResponse projectStatusResponse = wsClient.qualitygates().projectStatus(new ProjectStatusRequest().setAnalysisId(analysisId)); return projectStatusResponse.getProjectStatus(); }
/** * * This is part of the internal API. * This is a GET request. * @see <a href="https://next.sonarqube.com/sonarqube/web_api/api/qualitygates/project_status">Further information about this action online (including a response example)</a> * @since 5.3 */ public ProjectStatusResponse projectStatus(ProjectStatusRequest request) { return call( new GetRequest(path("project_status")) .setParam("analysisId", request.getAnalysisId()) .setParam("projectId", request.getProjectId()) .setParam("projectKey", request.getProjectKey()), ProjectStatusResponse.parser()); }
@Test public void default_organization_is_used_when_no_organization_parameter() { OrganizationDto organization = db.getDefaultOrganization(); ComponentDto project = db.components().insertPrivateProject(organization); userSession.logIn().addProjectPermission(UserRole.USER, project); ProjectStatusResponse result = ws.newRequest() .setParam(PARAM_PROJECT_ID, project.uuid()) .executeProtobuf(ProjectStatusResponse.class); assertThat(result.getProjectStatus().getStatus()).isEqualTo(Status.NONE); }
@Test public void return_undefined_status_if_project_is_not_analyzed() { OrganizationDto organization = db.organizations().insert(); ComponentDto project = db.components().insertPrivateProject(organization); userSession.addProjectPermission(UserRole.USER, project); ProjectStatusResponse result = ws.newRequest() .setParam(PARAM_PROJECT_ID, project.uuid()) .executeProtobuf(ProjectStatusResponse.class); assertThat(result.getProjectStatus().getStatus()).isEqualTo(Status.NONE); assertThat(result.getProjectStatus().getConditionsCount()).isEqualTo(0); }