@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"); }
List<ProjectStatusResponse.Condition> conditions = result.getConditionsList(); assertThat(conditions).extracting("status").containsExactly( ProjectStatusResponse.Status.ERROR,
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()); }