private static MeasureDto newNumericMeasure(Double value) { return new MeasureDto().setValue(value); }
@Test public void toMeasure_returns_int_part_of_value_in_dto_for_Int_Metric() { Optional<Measure> measure = underTest.toMeasure(new MeasureDto().setValue(1.5d), SOME_INT_METRIC); assertThat(measure.isPresent()).isTrue(); assertThat(measure.get().getValueType()).isEqualTo(Measure.ValueType.INT); assertThat(measure.get().getIntValue()).isEqualTo(1); }
@Test public void toMeasure_returns_long_part_of_value_in_dto_for_Long_Metric() { Optional<Measure> measure = underTest.toMeasure(new MeasureDto().setValue(1.5d), SOME_LONG_METRIC); assertThat(measure.isPresent()).isTrue(); assertThat(measure.get().getValueType()).isEqualTo(Measure.ValueType.LONG); assertThat(measure.get().getLongValue()).isEqualTo(1); }
@Test public void toMeasure_returns_false_value_if_dto_has_invalid_value_for_Boolean_metric() { Optional<Measure> measure = underTest.toMeasure(new MeasureDto().setValue(1.987d), SOME_BOOLEAN_METRIC); assertThat(measure.isPresent()).isTrue(); assertThat(measure.get().getValueType()).isEqualTo(Measure.ValueType.BOOLEAN); assertThat(measure.get().getBooleanValue()).isFalse(); }
@Test public void toMeasure_maps_data_and_alert_properties_in_dto_for_Boolean_metric() { MeasureDto measureDto = new MeasureDto().setValue(1d).setData(SOME_DATA).setAlertStatus(Level.OK.name()).setAlertText(SOME_ALERT_TEXT); Optional<Measure> measure = underTest.toMeasure(measureDto, SOME_BOOLEAN_METRIC); assertThat(measure.isPresent()).isTrue(); assertThat(measure.get().getValueType()).isEqualTo(Measure.ValueType.BOOLEAN); assertThat(measure.get().getBooleanValue()).isTrue(); assertThat(measure.get().getData()).isEqualTo(SOME_DATA); assertThat(measure.get().getQualityGateStatus().getStatus()).isEqualTo(Level.OK); assertThat(measure.get().getQualityGateStatus().getText()).isEqualTo(SOME_ALERT_TEXT); }
@Test public void toMeasure_maps_data_and_alert_properties_in_dto_for_Double_Metric() { MeasureDto measureDto = new MeasureDto().setValue(10.6395d).setData(SOME_DATA).setAlertStatus(Level.OK.name()).setAlertText(SOME_ALERT_TEXT); Optional<Measure> measure = underTest.toMeasure(measureDto, SOME_DOUBLE_METRIC); assertThat(measure.isPresent()).isTrue(); assertThat(measure.get().getValueType()).isEqualTo(Measure.ValueType.DOUBLE); assertThat(measure.get().getDoubleValue()).isEqualTo(10.6395d); assertThat(measure.get().getData()).isEqualTo(SOME_DATA); assertThat(measure.get().getQualityGateStatus().getStatus()).isEqualTo(Level.OK); assertThat(measure.get().getQualityGateStatus().getText()).isEqualTo(SOME_ALERT_TEXT); }
@Test public void toMeasure_maps_data_and_alert_properties_in_dto_for_Int_Metric() { MeasureDto measureDto = new MeasureDto().setValue(10d).setData(SOME_DATA).setAlertStatus(Level.OK.name()).setAlertText(SOME_ALERT_TEXT); Optional<Measure> measure = underTest.toMeasure(measureDto, SOME_INT_METRIC); assertThat(measure.isPresent()).isTrue(); assertThat(measure.get().getValueType()).isEqualTo(Measure.ValueType.INT); assertThat(measure.get().getIntValue()).isEqualTo(10); assertThat(measure.get().getData()).isEqualTo(SOME_DATA); assertThat(measure.get().getQualityGateStatus().getStatus()).isEqualTo(Level.OK); assertThat(measure.get().getQualityGateStatus().getText()).isEqualTo(SOME_ALERT_TEXT); }
@Test public void toMeasure_maps_data_and_alert_properties_in_dto_for_Long_Metric() { MeasureDto measureDto = new MeasureDto().setValue(10d).setData(SOME_DATA).setAlertStatus(Level.OK.name()).setAlertText(SOME_ALERT_TEXT); Optional<Measure> measure = underTest.toMeasure(measureDto, SOME_LONG_METRIC); assertThat(measure.isPresent()).isTrue(); assertThat(measure.get().getValueType()).isEqualTo(Measure.ValueType.LONG); assertThat(measure.get().getLongValue()).isEqualTo(10); assertThat(measure.get().getData()).isEqualTo(SOME_DATA); assertThat(measure.get().getQualityGateStatus().getStatus()).isEqualTo(Level.OK); assertThat(measure.get().getQualityGateStatus().getText()).isEqualTo(SOME_ALERT_TEXT); }
public static MeasureDto newMeasure() { return new MeasureDto() .setMetricId(cursor++) .setComponentUuid(String.valueOf(cursor++)) .setAnalysisUuid(String.valueOf(cursor++)) .setData(String.valueOf(cursor++)) .setAlertStatus(String.valueOf(cursor++)) .setAlertText(String.valueOf(cursor++)) .setValue((double) cursor++); }
private static MeasureDto toBestValue(MetricDto metric, SnapshotDto analysis) { MeasureDto measure = new MeasureDto() .setMetricId(metric.getId()) .setAnalysisUuid(analysis.getUuid()); if (metric.getKey().startsWith("new_")) { measure.setVariation(metric.getBestValue()); } else { measure.setValue(metric.getBestValue()); } return measure; }
@DataProvider public static Object[][] all_types_MeasureDtos() { return new Object[][] { {new MeasureDto().setValue(1d), SOME_BOOLEAN_METRIC}, {new MeasureDto().setValue(1d), SOME_INT_METRIC}, {new MeasureDto().setValue(1d), SOME_LONG_METRIC}, {new MeasureDto().setValue(1d), SOME_DOUBLE_METRIC}, {new MeasureDto().setData("1"), SOME_STRING_METRIC}, {new MeasureDto().setData(Measure.Level.OK.name()), SOME_LEVEL_METRIC} }; }
@Test public void toMeasure_should_not_loose_decimals_of_float_values() { MetricImpl metric = new MetricImpl(42, "double", "name", Metric.MetricType.FLOAT, 5, null, false); MeasureDto measureDto = new MeasureDto() .setValue(0.12345); Optional<Measure> measure = underTest.toMeasure(measureDto, metric); assertThat(measure.get().getDoubleValue()).isEqualTo(0.12345, Offset.offset(0.000001)); } }
@Test public void test_getter_and_setter() { underTest .setValue(2d) .setData("text value") .setVariation(1d); assertThat(underTest.getValue()).isEqualTo(2d); assertThat(underTest.getData()).isNotNull(); assertThat(underTest.getVariation()).isEqualTo(1d); }
@Test public void return_metrics() { dbClient.measureDao().insert(dbSession, newMeasureDto(complexityMetric, project, analysis).setValue(42.0d)); db.commit(); SearchHistoryResponse result = call(); assertThat(result.getMeasuresList()).hasSize(3) .extracting(HistoryMeasure::getMetric) .containsExactly(complexityMetric.getKey(), nclocMetric.getKey(), newViolationMetric.getKey()); }
public MeasureDto toMeasureDto(Measure measure, Metric metric, Component component) { MeasureDto out = new MeasureDto(); out.setMetricId(metric.getId()); out.setComponentUuid(component.getUuid()); out.setAnalysisUuid(analysisMetadataHolder.getUuid()); if (measure.hasVariation()) { out.setVariation(measure.getVariation()); } if (measure.hasQualityGateStatus()) { setAlert(out, measure.getQualityGateStatus()); } out.setValue(valueAsDouble(measure)); out.setData(data(measure)); return out; }
@Test public void branch() { ComponentDto project = db.components().insertPrivateProject(); userSession.addProjectPermission(UserRole.USER, project); ComponentDto branch = db.components().insertProjectBranch(project, b -> b.setKey("my_branch")); ComponentDto file = db.components().insertComponent(newFileDto(branch)); SnapshotDto analysis = db.components().insertSnapshot(branch); MeasureDto measure = db.measures().insertMeasure(file, analysis, nclocMetric, m -> m.setValue(2d)); SearchHistoryResponse result = ws.newRequest() .setParam(PARAM_COMPONENT, file.getKey()) .setParam(PARAM_BRANCH, "my_branch") .setParam(PARAM_METRICS, "ncloc") .executeProtobuf(SearchHistoryResponse.class); assertThat(result.getMeasuresList()).extracting(HistoryMeasure::getMetric).hasSize(1); HistoryMeasure historyMeasure = result.getMeasures(0); assertThat(historyMeasure.getMetric()).isEqualTo(nclocMetric.getKey()); assertThat(historyMeasure.getHistoryList()) .extracting(m -> parseDouble(m.getValue())) .containsExactlyInAnyOrder(measure.getValue()); }
@Test public void pull_request() { ComponentDto project = db.components().insertPrivateProject(); userSession.addProjectPermission(UserRole.USER, project); ComponentDto branch = db.components().insertProjectBranch(project, b -> b.setKey("pr-123").setBranchType(PULL_REQUEST)); ComponentDto file = db.components().insertComponent(newFileDto(branch)); SnapshotDto analysis = db.components().insertSnapshot(branch); MeasureDto measure = db.measures().insertMeasure(file, analysis, nclocMetric, m -> m.setValue(2d)); SearchHistoryResponse result = ws.newRequest() .setParam(PARAM_COMPONENT, file.getKey()) .setParam(PARAM_PULL_REQUEST, "pr-123") .setParam(PARAM_METRICS, "ncloc") .executeProtobuf(SearchHistoryResponse.class); assertThat(result.getMeasuresList()).extracting(HistoryMeasure::getMetric).hasSize(1); HistoryMeasure historyMeasure = result.getMeasures(0); assertThat(historyMeasure.getMetric()).isEqualTo(nclocMetric.getKey()); assertThat(historyMeasure.getHistoryList()) .extracting(m -> parseDouble(m.getValue())) .containsExactlyInAnyOrder(measure.getValue()); }
private static MeasureDto toBestValue(MetricDto metric, SnapshotDto analysis) { MeasureDto measure = new MeasureDto() .setMetricId(metric.getId()) .setAnalysisUuid(analysis.getUuid()); if (metric.getKey().startsWith("new_")) { measure.setVariation(metric.getBestValue()); } else { measure.setValue(metric.getBestValue()); } return measure; }
public MeasureDto toMeasureDto(Measure measure, Metric metric, Component component) { MeasureDto out = new MeasureDto(); out.setMetricId(metric.getId()); out.setComponentUuid(component.getUuid()); out.setAnalysisUuid(analysisMetadataHolder.getUuid()); if (measure.hasVariation()) { out.setVariation(measure.getVariation()); } if (measure.hasQualityGateStatus()) { setAlert(out, measure.getQualityGateStatus()); } out.setValue(valueAsDouble(measure)); out.setData(data(measure)); return out; }