@Test public void return_project_measure() { OrganizationDto organization = dbTester.organizations().insert(); ComponentDto project = dbTester.components().insertPrivateProject(organization, p -> p.setDbKey("Project-Key").setName("Project Name").setTagsString("platform,java")); SnapshotDto analysis = dbTester.components().insertSnapshot(project); MetricDto metric1 = dbTester.measures().insertMetric(m -> m.setValueType(INT.name()).setKey("ncloc")); MetricDto metric2 = dbTester.measures().insertMetric(m -> m.setValueType(INT.name()).setKey("coverage")); dbTester.measures().insertLiveMeasure(project, metric1, m -> m.setValue(10d)); dbTester.measures().insertLiveMeasure(project, metric2, m -> m.setValue(20d)); Map<String, ProjectMeasures> docsById = createResultSetAndReturnDocsById(); assertThat(docsById).hasSize(1); ProjectMeasures doc = docsById.get(project.uuid()); assertThat(doc).isNotNull(); assertThat(doc.getProject().getUuid()).isEqualTo(project.uuid()); assertThat(doc.getProject().getKey()).isEqualTo("Project-Key"); assertThat(doc.getProject().getName()).isEqualTo("Project Name"); assertThat(doc.getProject().getTags()).containsExactly("platform", "java"); assertThat(doc.getProject().getAnalysisDate()).isNotNull().isEqualTo(analysis.getCreatedAt()); assertThat(doc.getMeasures().getNumericMeasures()).containsOnly(entry(metric1.getKey(), 10d), entry(metric2.getKey(), 20d)); }
private static ProjectMeasuresDoc toProjectMeasuresDoc(ProjectMeasures projectMeasures) { ProjectMeasuresIndexerIterator.Project project = projectMeasures.getProject(); Long analysisDate = project.getAnalysisDate(); return new ProjectMeasuresDoc() .setId(project.getUuid()) .setOrganizationUuid(project.getOrganizationUuid()) .setKey(project.getKey()) .setName(project.getName()) .setQualityGateStatus(projectMeasures.getMeasures().getQualityGateStatus()) .setTags(project.getTags()) .setAnalysedAt(analysisDate == null ? null : new Date(analysisDate)) .setMeasuresFromMap(projectMeasures.getMeasures().getNumericMeasures()) .setLanguages(new ArrayList<>(projectMeasures.getMeasures().getNclocByLanguages().keySet())) .setNclocLanguageDistributionFromMap(projectMeasures.getMeasures().getNclocByLanguages()); } }
private static ProjectMeasuresDoc toProjectMeasuresDoc(ProjectMeasures projectMeasures) { ProjectMeasuresIndexerIterator.Project project = projectMeasures.getProject(); Long analysisDate = project.getAnalysisDate(); return new ProjectMeasuresDoc() .setId(project.getUuid()) .setOrganizationUuid(project.getOrganizationUuid()) .setKey(project.getKey()) .setName(project.getName()) .setQualityGateStatus(projectMeasures.getMeasures().getQualityGateStatus()) .setTags(project.getTags()) .setAnalysedAt(analysisDate == null ? null : new Date(analysisDate)) .setMeasuresFromMap(projectMeasures.getMeasures().getNumericMeasures()) .setLanguages(new ArrayList<>(projectMeasures.getMeasures().getNclocByLanguages().keySet())) .setNclocLanguageDistributionFromMap(projectMeasures.getMeasures().getNclocByLanguages()); } }