diff options
author | Sébastien Lesaint <sebastien.lesaint@sonarsource.com> | 2015-09-16 18:08:29 +0200 |
---|---|---|
committer | Sébastien Lesaint <sebastien.lesaint@sonarsource.com> | 2015-09-16 18:21:40 +0200 |
commit | 87f52cb4b058a9fd4c286e24e8c37cf4b53ba958 (patch) | |
tree | f480290b50d60c67da628a4ff7ca9fe5b9a18e69 /server | |
parent | 448e4117dea51b51ba5703e5ba5cd8a6735a0db0 (diff) | |
download | sonarqube-87f52cb4b058a9fd4c286e24e8c37cf4b53ba958.tar.gz sonarqube-87f52cb4b058a9fd4c286e24e8c37cf4b53ba958.zip |
fix coverage on ReportSqaleMeasuresVisitor and ReportComputationSteps
Diffstat (limited to 'server')
2 files changed, 41 insertions, 11 deletions
diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/sqale/ReportSqaleMeasuresVisitorTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/sqale/ReportSqaleMeasuresVisitorTest.java index cdda7a7075c..63287ea15fe 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/computation/sqale/ReportSqaleMeasuresVisitorTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/computation/sqale/ReportSqaleMeasuresVisitorTest.java @@ -47,6 +47,7 @@ import static org.sonar.server.computation.component.Component.Type.DIRECTORY; import static org.sonar.server.computation.component.Component.Type.FILE; import static org.sonar.server.computation.component.Component.Type.MODULE; import static org.sonar.server.computation.component.Component.Type.PROJECT; +import static org.sonar.server.computation.component.ReportComponent.builder; import static org.sonar.server.computation.measure.Measure.newMeasureBuilder; import static org.sonar.server.computation.measure.MeasureRepoEntry.entryOf; import static org.sonar.server.computation.measure.MeasureRepoEntry.toEntries; @@ -94,7 +95,7 @@ public class ReportSqaleMeasuresVisitorTest { @Test public void measures_created_for_project_are_all_zero_when_they_have_no_FILE_child() { - ReportComponent root = ReportComponent.builder(PROJECT, 1).build(); + ReportComponent root = builder(PROJECT, 1).build(); treeRootHolder.setRoot(root); underTest.visit(root); @@ -141,29 +142,30 @@ public class ReportSqaleMeasuresVisitorTest { @Test public void verify_aggregation_of_developmentCost_and_value_of_measures_computed_from_that() { - ReportComponent root = ReportComponent.builder(PROJECT, 1) + ReportComponent root = builder(PROJECT, 1) .addChildren( - ReportComponent.builder(MODULE, 11) + builder(MODULE, 11) .addChildren( - ReportComponent.builder(DIRECTORY, 111) + builder(DIRECTORY, 111) .addChildren( createFileComponent(LANGUAGE_KEY_1, 1111), - createFileComponent(LANGUAGE_KEY_2, 1112)) + createFileComponent(LANGUAGE_KEY_2, 1112), + builder(FILE, 1113).setFileAttributes(new FileAttributes(true, LANGUAGE_KEY_1)).build()) .build(), - ReportComponent.builder(DIRECTORY, 112) + builder(DIRECTORY, 112) .addChildren( createFileComponent(LANGUAGE_KEY_2, 1121)) .build()) .build(), - ReportComponent.builder(MODULE, 12) + builder(MODULE, 12) .addChildren( - ReportComponent.builder(DIRECTORY, 121) + builder(DIRECTORY, 121) .addChildren( createFileComponent(LANGUAGE_KEY_1, 1211)) .build(), - ReportComponent.builder(DIRECTORY, 122).build()) + builder(DIRECTORY, 122).build()) .build(), - ReportComponent.builder(MODULE, 13).build()) + builder(MODULE, 13).build()) .build(); treeRootHolder.setRoot(root); @@ -205,6 +207,7 @@ public class ReportSqaleMeasuresVisitorTest { // verify measures on files verifyFileMeasures(1111, measureValue1111, debt1111, DEV_COST_LANGUAGE_1, C); verifyFileMeasures(1112, measureValue1112, debt1112, DEV_COST_LANGUAGE_2, A); + verifyNoAddedRawMeasure(1113); verifyFileMeasures(1121, measureValue1121, debt1121, DEV_COST_LANGUAGE_2, A); verifyFileMeasures(1211, measureValue1211, debt1211, DEV_COST_LANGUAGE_1, C); // directory has no children => no file => 0 everywhere and A rating @@ -229,7 +232,7 @@ public class ReportSqaleMeasuresVisitorTest { } private ReportComponent createFileComponent(String languageKey1, int fileRef) { - return ReportComponent.builder(FILE, fileRef).setFileAttributes(new FileAttributes(false, languageKey1)).build(); + return builder(FILE, fileRef).setFileAttributes(new FileAttributes(false, languageKey1)).build(); } private void addRawMeasure(String metricKey, int componentRef, long value) { @@ -248,4 +251,8 @@ public class ReportSqaleMeasuresVisitorTest { entryOf(SQALE_RATING_KEY, createSqaleRatingMeasure(expectedRating))); } + private void verifyNoAddedRawMeasure(int componentRef) { + assertThat(toEntries(measureRepository.getAddedRawMeasures(componentRef))).isEmpty(); + } + } diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/step/ReportComputationStepsTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/step/ReportComputationStepsTest.java index 17280f0817d..e8e5f7057f5 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/computation/step/ReportComputationStepsTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/computation/step/ReportComputationStepsTest.java @@ -28,6 +28,8 @@ import org.sonar.core.platform.ContainerPopulator; import org.sonar.server.computation.container.ComputeEngineContainer; import org.sonar.server.computation.container.ComputeEngineContainerImpl; +import static org.mockito.Mockito.mock; + public class ReportComputationStepsTest { @Rule public ExpectedException expectedException = ExpectedException.none(); @@ -46,4 +48,25 @@ public class ReportComputationStepsTest { Lists.newArrayList(new ReportComputationSteps(computeEngineContainer).instances()); } + + @Test + public void instances_throws_ISE_if_container_does_not_have_second_step() throws Exception { + expectedException.expect(IllegalStateException.class); + expectedException.expectMessage("Component not found: class org.sonar.server.computation.step.BuildComponentTreeStep"); + + final ReportExtractionStep reportExtractionStep = mock(ReportExtractionStep.class); + ComponentContainer componentContainer = new ComponentContainer() { + { + addSingleton(reportExtractionStep); + } + }; + ComputeEngineContainerImpl computeEngineContainer = new ComputeEngineContainerImpl(componentContainer, new ContainerPopulator<ComputeEngineContainer>() { + @Override + public void populateContainer(ComputeEngineContainer container) { + // do nothing + } + }); + + Lists.newArrayList(new ReportComputationSteps(computeEngineContainer).instances()); + } } |