aboutsummaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>2015-09-16 18:08:29 +0200
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>2015-09-16 18:21:40 +0200
commit87f52cb4b058a9fd4c286e24e8c37cf4b53ba958 (patch)
treef480290b50d60c67da628a4ff7ca9fe5b9a18e69 /server
parent448e4117dea51b51ba5703e5ba5cd8a6735a0db0 (diff)
downloadsonarqube-87f52cb4b058a9fd4c286e24e8c37cf4b53ba958.tar.gz
sonarqube-87f52cb4b058a9fd4c286e24e8c37cf4b53ba958.zip
fix coverage on ReportSqaleMeasuresVisitor and ReportComputationSteps
Diffstat (limited to 'server')
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/computation/sqale/ReportSqaleMeasuresVisitorTest.java29
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/computation/step/ReportComputationStepsTest.java23
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());
+ }
}