assertThat(result.getStatus()).isEqualTo(ProjectStatusResponse.Status.ERROR); assertThat(result.getConditionsCount()).isEqualTo(3); List<ProjectStatusResponse.Condition> conditions = result.getConditionsList(); assertThat(conditions).extracting("status").containsExactly( ProjectStatusResponse.Status.ERROR, assertThat(result.getPeriodsCount()).isEqualTo(1); List<ProjectStatusResponse.Period> periods = result.getPeriodsList(); assertThat(periods).extracting("index").containsExactly(1); assertThat(periods).extracting("mode").containsExactly("last_version");
private static ProjectStatusResponse.ProjectStatus newResponseWithoutQualityGateDetails() { return ProjectStatusResponse.ProjectStatus.newBuilder().setStatus(ProjectStatusResponse.Status.NONE).build(); }
public QualityGateDetailsFormatter(Optional<String> measureData, Optional<SnapshotDto> snapshot) { this.optionalMeasureData = measureData; this.optionalSnapshot = snapshot; this.projectStatusBuilder = ProjectStatusResponse.ProjectStatus.newBuilder(); }
private QualityGate toQualityGate(Qualitygates.ProjectStatusResponse.ProjectStatus projectStatus) { return QualityGate.newBuilder().status(projectStatus.getStatus() != null ? QualityGate.Status.of(projectStatus.getStatus().name()) : null).conditions( projectStatus.getConditionsList() != null ? projectStatus.getConditionsList().stream().map(this::toCondition).collect(Collectors.toList()) : Collections.emptyList()).build(); }
private void logQualityGate(Qualitygates.ProjectStatusResponse.ProjectStatus projectStatus) { Qualitygates.ProjectStatusResponse.Status status = projectStatus.getStatus(); LOG.info("Quality gate status: {}", status); logConditions(projectStatus.getConditionsList()); }
@Test public void ignore_period_not_set_on_leak_period() throws IOException { String measureData = IOUtils.toString(getClass().getResource("QualityGateDetailsFormatterTest/non_leak_period.json")); SnapshotDto snapshot = new SnapshotDto() .setPeriodMode("last_version") .setPeriodParam("2015-12-07") .setPeriodDate(1449404331764L); underTest = newQualityGateDetailsFormatter(measureData, snapshot); ProjectStatus result = underTest.format(); // check conditions assertThat(result.getConditionsCount()).isEqualTo(1); List<ProjectStatusResponse.Condition> conditions = result.getConditionsList(); assertThat(conditions).extracting("status").containsExactly(ProjectStatusResponse.Status.ERROR); assertThat(conditions).extracting("metricKey").containsExactly("new_coverage"); assertThat(conditions).extracting("comparator").containsExactly(ProjectStatusResponse.Comparator.LT); assertThat(conditions).extracting("periodIndex").containsExactly(1); assertThat(conditions).extracting("errorThreshold").containsOnly("85"); assertThat(conditions).extracting("actualValue").containsExactly("82.2985024398452"); }
private static ProjectStatusResponse.ProjectStatus newResponseWithoutQualityGateDetails() { return ProjectStatusResponse.ProjectStatus.newBuilder().setStatus(ProjectStatusResponse.Status.NONE).build(); }
public QualityGateDetailsFormatter(Optional<String> measureData, Optional<SnapshotDto> snapshot) { this.optionalMeasureData = measureData; this.optionalSnapshot = snapshot; this.projectStatusBuilder = ProjectStatusResponse.ProjectStatus.newBuilder(); }
@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); }
@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); }
@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); }