static String formatMeasureValue(MeasureDto measure, MetricDto metric) { Double doubleValue = measure.getValue(); String stringValue = measure.getData(); return formatMeasureValue(doubleValue == null ? Double.NaN : doubleValue, stringValue, metric); }
static void updateMeasureBuilder(Measure.Builder measureBuilder, MetricDto metricDto, MeasureDto measureDto) { Double value = measureDto.getValue(); Double variation = measureDto.getVariation(); updateMeasureBuilder(measureBuilder, metricDto, value == null ? Double.NaN : value, measureDto.getData(), variation == null ? Double.NaN : variation); }
@Test public void toMeasureDto_maps_value_to_1_or_0_and_data_from_data_field_for_BOOLEAN_metric() { MeasureDto trueMeasureDto = underTest.toMeasureDto(Measure.newMeasureBuilder().create(true, SOME_DATA), SOME_BOOLEAN_METRIC, SOME_COMPONENT); assertThat(trueMeasureDto.getValue()).isEqualTo(1d); assertThat(trueMeasureDto.getData()).isEqualTo(SOME_DATA); MeasureDto falseMeasureDto = underTest.toMeasureDto(Measure.newMeasureBuilder().create(false, SOME_DATA), SOME_BOOLEAN_METRIC, SOME_COMPONENT); assertThat(falseMeasureDto.getValue()).isEqualTo(0d); assertThat(falseMeasureDto.getData()).isEqualTo(SOME_DATA); }
@Test public void toMeasureDto_maps_value_and_data_from_data_field_for_LONG_metric() { MeasureDto trueMeasureDto = underTest.toMeasureDto(Measure.newMeasureBuilder().create((long) 456, SOME_DATA), SOME_LONG_METRIC, SOME_COMPONENT); assertThat(trueMeasureDto.getValue()).isEqualTo(456); assertThat(trueMeasureDto.getData()).isEqualTo(SOME_DATA); }
@Test public void toMeasureDto_maps_value_and_data_from_data_field_for_DOUBLE_metric() { MeasureDto trueMeasureDto = underTest.toMeasureDto(Measure.newMeasureBuilder().create((double) 789, 1, SOME_DATA), SOME_DOUBLE_METRIC, SOME_COMPONENT); assertThat(trueMeasureDto.getValue()).isEqualTo(789); assertThat(trueMeasureDto.getData()).isEqualTo(SOME_DATA); }
public Optional<Measure> toMeasure(@Nullable MeasureDto measureDto, Metric metric) { requireNonNull(metric); if (measureDto == null) { return Optional.empty(); } Double value = measureDto.getValue(); String data = measureDto.getData(); switch (metric.getType().getValueType()) { case INT: return toIntegerMeasure(measureDto, value, data); case LONG: return toLongMeasure(measureDto, value, data); case DOUBLE: return toDoubleMeasure(measureDto, value, data); case BOOLEAN: return toBooleanMeasure(measureDto, value, data); case STRING: return toStringMeasure(measureDto, data); case LEVEL: return toLevelMeasure(measureDto, data); case NO_VALUE: return toNoValueMeasure(measureDto); default: throw new IllegalArgumentException("Unsupported Measure.ValueType " + metric.getType().getValueType()); } }
@Test public void toMeasureDto_maps_value_and_data_from_data_field_for_INT_metric() { MeasureDto trueMeasureDto = underTest.toMeasureDto(Measure.newMeasureBuilder().create(123, SOME_DATA), SOME_INT_METRIC, SOME_COMPONENT); assertThat(trueMeasureDto.getValue()).isEqualTo(123); assertThat(trueMeasureDto.getData()).isEqualTo(SOME_DATA); }
@Test public void toMeasureDto_maps_to_only_data_for_STRING_metric() { MeasureDto trueMeasureDto = underTest.toMeasureDto(Measure.newMeasureBuilder().create(SOME_STRING), SOME_STRING_METRIC, SOME_COMPONENT); assertThat(trueMeasureDto.getValue()).isNull(); assertThat(trueMeasureDto.getData()).isEqualTo(SOME_STRING); }
@Test public void toMeasureDto_maps_name_of_Level_to_data_and_has_no_value_for_LEVEL_metric() { MeasureDto trueMeasureDto = underTest.toMeasureDto(Measure.newMeasureBuilder().create(Measure.Level.OK), SOME_LEVEL_METRIC, SOME_COMPONENT); assertThat(trueMeasureDto.getValue()).isNull(); assertThat(trueMeasureDto.getData()).isEqualTo(Measure.Level.OK.name()); }
@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 measures_on_leak_period_are_persisted() { prepareProject(); measureRepository.addRawMeasure(REF_1, INT_METRIC.getKey(), newMeasureBuilder().setVariation(42.0).createNoValue()); TestComputationStepContext context = execute(); MeasureDto persistedMeasure = selectMeasure("project-uuid", INT_METRIC).get(); assertThat(persistedMeasure.getValue()).isNull(); assertThat(persistedMeasure.getVariation()).isEqualTo(42.0); assertNbOfInserts(context, 1); }
@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()); }
static String formatMeasureValue(MeasureDto measure, MetricDto metric) { Double doubleValue = measure.getValue(); String stringValue = measure.getData(); return formatMeasureValue(doubleValue == null ? Double.NaN : doubleValue, stringValue, metric); }
static void updateMeasureBuilder(Measure.Builder measureBuilder, MetricDto metricDto, MeasureDto measureDto) { Double value = measureDto.getValue(); Double variation = measureDto.getVariation(); updateMeasureBuilder(measureBuilder, metricDto, value == null ? Double.NaN : value, measureDto.getData(), variation == null ? Double.NaN : variation); }
public Optional<Measure> toMeasure(@Nullable MeasureDto measureDto, Metric metric) { requireNonNull(metric); if (measureDto == null) { return Optional.absent(); } Double value = measureDto.getValue(); String data = measureDto.getData(); switch (metric.getType().getValueType()) { case INT: return toIntegerMeasure(measureDto, value, data); case LONG: return toLongMeasure(measureDto, value, data); case DOUBLE: return toDoubleMeasure(measureDto, value, data); case BOOLEAN: return toBooleanMeasure(measureDto, value, data); case STRING: return toStringMeasure(measureDto, data); case LEVEL: return toLevelMeasure(measureDto, data); case NO_VALUE: return toNoValueMeasure(measureDto); default: throw new IllegalArgumentException("Unsupported Measure.ValueType " + metric.getType().getValueType()); } }