Browse Source

SONAR-16472 Set 'security_hotspots_reviewed_status' and 'security_hotspots_to_review_status' to all components

tags/9.5.0.56709
Duarte Meneses 2 years ago
parent
commit
668ac590fb

+ 2
- 3
server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/qualitymodel/SecurityReviewMeasuresVisitor.java View File

@Override @Override
public void visitProject(Component project, Path<SecurityReviewCounter> path) { public void visitProject(Component project, Path<SecurityReviewCounter> path) {
computeMeasure(project, path); computeMeasure(project, path);
// The following measures are only computed on projects level as they are required to compute the others measures on applications
measureRepository.add(project, securityHotspotsReviewedStatusMetric, newMeasureBuilder().create(path.current().getHotspotsReviewed()));
measureRepository.add(project, securityHotspotsToReviewStatusMetric, newMeasureBuilder().create(path.current().getHotspotsToReview()));
} }


@Override @Override
.filter(issue -> issue.type().equals(SECURITY_HOTSPOT)) .filter(issue -> issue.type().equals(SECURITY_HOTSPOT))
.forEach(issue -> path.current().processHotspot(issue)); .forEach(issue -> path.current().processHotspot(issue));


measureRepository.add(component, securityHotspotsReviewedStatusMetric, newMeasureBuilder().create(path.current().getHotspotsReviewed()));
measureRepository.add(component, securityHotspotsToReviewStatusMetric, newMeasureBuilder().create(path.current().getHotspotsToReview()));
Optional<Double> percent = computePercent(path.current().getHotspotsToReview(), path.current().getHotspotsReviewed()); Optional<Double> percent = computePercent(path.current().getHotspotsToReview(), path.current().getHotspotsReviewed());
measureRepository.add(component, securityReviewRatingMetric, RatingMeasures.get(computeRating(percent.orElse(null)))); measureRepository.add(component, securityReviewRatingMetric, RatingMeasures.get(computeRating(percent.orElse(null))));
percent.ifPresent(p -> measureRepository.add(component, securityHotspotsReviewedMetric, newMeasureBuilder().create(p, securityHotspotsReviewedMetric.getDecimalScale()))); percent.ifPresent(p -> measureRepository.add(component, securityHotspotsReviewedMetric, newMeasureBuilder().create(p, securityHotspotsReviewedMetric.getDecimalScale())));

+ 4
- 4
server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/qualitymodel/SecurityReviewMeasuresVisitorTest.java View File



underTest.visit(ROOT_PROJECT); underTest.visit(ROOT_PROJECT);


verifyHotspotStatusMeasures(FILE_1_REF, null, null);
verifyHotspotStatusMeasures(FILE_2_REF, null, null);
verifyHotspotStatusMeasures(DIRECTORY_REF, null, null);
verifyHotspotStatusMeasures(ROOT_DIR_REF, null, null);
verifyHotspotStatusMeasures(FILE_1_REF, 1, 1);
verifyHotspotStatusMeasures(FILE_2_REF, 3, 2);
verifyHotspotStatusMeasures(DIRECTORY_REF, 4, 3);
verifyHotspotStatusMeasures(ROOT_DIR_REF, 4, 3);
verifyHotspotStatusMeasures(PROJECT_REF, 4, 3); verifyHotspotStatusMeasures(PROJECT_REF, 4, 3);
} }



Loading…
Cancel
Save