Browse Source

SONAR-8282 Clean up code related to removal of IT/overall coverage

tags/6.2-RC1
Julien Lancelot 7 years ago
parent
commit
16fde3e774

+ 6
- 16
server/sonar-server/src/main/java/org/sonar/server/component/ws/AppAction.java View File

@@ -55,8 +55,7 @@ public class AppAction implements RequestHandler {
private static final String PARAM_UUID = "uuid";
private static final String PARAM_PERIOD = "period";
static final List<String> METRIC_KEYS = newArrayList(CoreMetrics.LINES_KEY, CoreMetrics.VIOLATIONS_KEY,
CoreMetrics.COVERAGE_KEY, CoreMetrics.IT_COVERAGE_KEY, CoreMetrics.OVERALL_COVERAGE_KEY,
CoreMetrics.DUPLICATED_LINES_DENSITY_KEY, CoreMetrics.TESTS_KEY,
CoreMetrics.COVERAGE_KEY, CoreMetrics.DUPLICATED_LINES_DENSITY_KEY, CoreMetrics.TESTS_KEY,
CoreMetrics.TECHNICAL_DEBT_KEY, CoreMetrics.SQALE_RATING_KEY, CoreMetrics.SQALE_DEBT_RATIO_KEY);

private final DbClient dbClient;
@@ -100,7 +99,7 @@ public class AppAction implements RequestHandler {
DbSession session = dbClient.openSession(false);
try {
ComponentDto component = componentFinder.getByUuid(session, componentUuid);
userSession.checkComponentPermission(UserRole.USER, component.getKey());
userSession.checkComponentUuidPermission(UserRole.USER, component.uuid());

Map<String, MeasureDto> measuresByMetricKey = measuresByMetricKey(component, session);
appendComponent(json, component, userSession, session);
@@ -121,8 +120,7 @@ public class AppAction implements RequestHandler {
.setComponentId(component.getId())
.setUserId(userSession.getUserId())
.build(),
session
);
session);
boolean isFavourite = propertyDtos.size() == 1;

json.prop("key", component.key());
@@ -146,7 +144,7 @@ public class AppAction implements RequestHandler {
}

private static void appendPermissions(JsonWriter json, ComponentDto component, UserSession userSession) {
boolean hasBrowsePermission = userSession.hasComponentPermission(UserRole.USER, component.key());
boolean hasBrowsePermission = userSession.hasComponentUuidPermission(UserRole.USER, component.uuid());
json.prop("canMarkAsFavourite", userSession.isLoggedIn() && hasBrowsePermission);
}

@@ -179,16 +177,8 @@ public class AppAction implements RequestHandler {

@CheckForNull
private static String formatCoverageMeasure(Map<String, MeasureDto> measuresByMetricKey) {
MeasureDto overallCoverage = measuresByMetricKey.get(CoreMetrics.OVERALL_COVERAGE_KEY);
if (overallCoverage != null) {
return formatMeasure(overallCoverage, CoreMetrics.OVERALL_COVERAGE);
}
MeasureDto utCoverage = measuresByMetricKey.get(CoreMetrics.COVERAGE_KEY);
if (utCoverage != null) {
return formatMeasure(utCoverage, CoreMetrics.COVERAGE);
}
MeasureDto itCoverage = measuresByMetricKey.get(CoreMetrics.IT_COVERAGE_KEY);
return formatMeasure(itCoverage, CoreMetrics.IT_COVERAGE);
MeasureDto coverage = measuresByMetricKey.get(CoreMetrics.COVERAGE_KEY);
return formatMeasure(coverage, CoreMetrics.COVERAGE);
}

@CheckForNull

+ 1
- 86
server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/step/CoverageMeasuresStep.java View File

@@ -35,22 +35,8 @@ import org.sonar.server.computation.task.step.ComputationStep;
import static org.sonar.api.measures.CoreMetrics.BRANCH_COVERAGE_KEY;
import static org.sonar.api.measures.CoreMetrics.CONDITIONS_TO_COVER_KEY;
import static org.sonar.api.measures.CoreMetrics.COVERAGE_KEY;
import static org.sonar.api.measures.CoreMetrics.IT_BRANCH_COVERAGE_KEY;
import static org.sonar.api.measures.CoreMetrics.IT_CONDITIONS_TO_COVER_KEY;
import static org.sonar.api.measures.CoreMetrics.IT_COVERAGE_KEY;
import static org.sonar.api.measures.CoreMetrics.IT_LINES_TO_COVER_KEY;
import static org.sonar.api.measures.CoreMetrics.IT_LINE_COVERAGE_KEY;
import static org.sonar.api.measures.CoreMetrics.IT_UNCOVERED_CONDITIONS_KEY;
import static org.sonar.api.measures.CoreMetrics.IT_UNCOVERED_LINES_KEY;
import static org.sonar.api.measures.CoreMetrics.LINES_TO_COVER_KEY;
import static org.sonar.api.measures.CoreMetrics.LINE_COVERAGE_KEY;
import static org.sonar.api.measures.CoreMetrics.OVERALL_BRANCH_COVERAGE_KEY;
import static org.sonar.api.measures.CoreMetrics.OVERALL_CONDITIONS_TO_COVER_KEY;
import static org.sonar.api.measures.CoreMetrics.OVERALL_COVERAGE_KEY;
import static org.sonar.api.measures.CoreMetrics.OVERALL_LINES_TO_COVER_KEY;
import static org.sonar.api.measures.CoreMetrics.OVERALL_LINE_COVERAGE_KEY;
import static org.sonar.api.measures.CoreMetrics.OVERALL_UNCOVERED_CONDITIONS_KEY;
import static org.sonar.api.measures.CoreMetrics.OVERALL_UNCOVERED_LINES_KEY;
import static org.sonar.api.measures.CoreMetrics.UNCOVERED_CONDITIONS_KEY;
import static org.sonar.api.measures.CoreMetrics.UNCOVERED_LINES_KEY;
import static org.sonar.server.computation.task.projectanalysis.formula.SumFormula.createIntSumFormula;
@@ -60,30 +46,13 @@ import static org.sonar.server.computation.task.projectanalysis.formula.SumFormu
*/
public class CoverageMeasuresStep implements ComputationStep {
private static final ImmutableList<Formula> COVERAGE_FORMULAS = ImmutableList.<Formula>of(
// unit test
createIntSumFormula(LINES_TO_COVER_KEY),
createIntSumFormula(UNCOVERED_LINES_KEY),
createIntSumFormula(CONDITIONS_TO_COVER_KEY),
createIntSumFormula(UNCOVERED_CONDITIONS_KEY),
new CodeCoverageFormula(),
new BranchCoverageFormula(),
new LineCoverageFormula(),
// integration test
createIntSumFormula(IT_LINES_TO_COVER_KEY),
createIntSumFormula(IT_UNCOVERED_LINES_KEY),
createIntSumFormula(IT_CONDITIONS_TO_COVER_KEY),
createIntSumFormula(IT_UNCOVERED_CONDITIONS_KEY),
new ItCoverageFormula(),
new ItBranchCoverageFormula(),
new ItLineCoverageFormula(),
// overall test
createIntSumFormula(OVERALL_LINES_TO_COVER_KEY),
createIntSumFormula(OVERALL_UNCOVERED_LINES_KEY),
createIntSumFormula(OVERALL_CONDITIONS_TO_COVER_KEY),
createIntSumFormula(OVERALL_UNCOVERED_CONDITIONS_KEY),
new OverallCodeCoverageFormula(),
new OverallBranchCoverageFormula(),
new OverallLineCoverageFormula());
new LineCoverageFormula());

private final TreeRootHolder treeRootHolder;
private final MetricRepository metricRepository;
@@ -112,26 +81,6 @@ public class CoverageMeasuresStep implements ComputationStep {
}
}

private static class ItCoverageFormula extends LinesAndConditionsWithUncoveredFormula {
private ItCoverageFormula() {
super(
new LinesAndConditionsWithUncoveredMetricKeys(
IT_LINES_TO_COVER_KEY, IT_CONDITIONS_TO_COVER_KEY,
IT_UNCOVERED_LINES_KEY, IT_UNCOVERED_CONDITIONS_KEY),
IT_COVERAGE_KEY);
}
}

private static class OverallCodeCoverageFormula extends LinesAndConditionsWithUncoveredFormula {
public OverallCodeCoverageFormula() {
super(
new LinesAndConditionsWithUncoveredMetricKeys(
OVERALL_LINES_TO_COVER_KEY, OVERALL_CONDITIONS_TO_COVER_KEY,
OVERALL_UNCOVERED_LINES_KEY, OVERALL_UNCOVERED_CONDITIONS_KEY),
OVERALL_COVERAGE_KEY);
}
}

private static class BranchCoverageFormula extends SingleWithUncoveredFormula {
public BranchCoverageFormula() {
super(
@@ -141,23 +90,6 @@ public class CoverageMeasuresStep implements ComputationStep {
}
}

private static class ItBranchCoverageFormula extends SingleWithUncoveredFormula {
public ItBranchCoverageFormula() {
super(
new SingleWithUncoveredMetricKeys(
IT_CONDITIONS_TO_COVER_KEY, IT_UNCOVERED_CONDITIONS_KEY),
IT_BRANCH_COVERAGE_KEY);
}
}

private static class OverallBranchCoverageFormula extends SingleWithUncoveredFormula {
public OverallBranchCoverageFormula() {
super(
new SingleWithUncoveredMetricKeys(OVERALL_CONDITIONS_TO_COVER_KEY, OVERALL_UNCOVERED_CONDITIONS_KEY),
OVERALL_BRANCH_COVERAGE_KEY);
}
}

private static class LineCoverageFormula extends SingleWithUncoveredFormula {
public LineCoverageFormula() {
super(
@@ -166,23 +98,6 @@ public class CoverageMeasuresStep implements ComputationStep {
}
}

private static class ItLineCoverageFormula extends SingleWithUncoveredFormula {
public ItLineCoverageFormula() {
super(
new SingleWithUncoveredMetricKeys(IT_LINES_TO_COVER_KEY, IT_UNCOVERED_LINES_KEY),
IT_LINE_COVERAGE_KEY);
}
}

private static class OverallLineCoverageFormula extends SingleWithUncoveredFormula {
public OverallLineCoverageFormula() {
super(
new SingleWithUncoveredMetricKeys(
OVERALL_LINES_TO_COVER_KEY, OVERALL_UNCOVERED_LINES_KEY),
OVERALL_LINE_COVERAGE_KEY);
}
}

@Override
public String getDescription() {
return "Compute coverage measures";

+ 16
- 127
server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/step/NewCoverageMeasuresStep.java View File

@@ -64,19 +64,11 @@ import static org.sonar.server.computation.task.projectanalysis.period.PeriodPre
*/
public class NewCoverageMeasuresStep implements ComputationStep {

private static final List<Formula> FORMULAS = ImmutableList.<Formula>of(
private static final List<Formula> FORMULAS = ImmutableList.of(
// UT coverage
new NewCoverageFormula(),
new NewBranchCoverageFormula(),
new NewLineCoverageFormula(),
// IT File coverage
new NewItCoverageFormula(),
new NewItBranchCoverageFormula(),
new NewItLinesCoverageFormula(),
// Overall coverage
new NewOverallCodeCoverageFormula(),
new NewOverallBranchCoverageFormula(),
new NewOverallLineCoverageFormula());
new NewLineCoverageFormula());

private final TreeRootHolder treeRootHolder;
private final PeriodsHolder periodsHolder;
@@ -115,12 +107,8 @@ public class NewCoverageMeasuresStep implements ComputationStep {
FormulaExecutorComponentVisitor.newBuilder(metricRepository, measureRepository)
.withVariationSupport(periodsHolder)
.buildFor(
Iterables.concat(
NewLinesAndConditionsCoverageFormula.from(scmInfoRepository),
NewItLinesAndConditionsCoverageFormula.from(scmInfoRepository),
NewOverallLinesAndConditionsCoverageFormula.from(scmInfoRepository),
FORMULAS)))
.visit(treeRootHolder.getRoot());
Iterables.concat(NewLinesAndConditionsCoverageFormula.from(scmInfoRepository), FORMULAS)))
.visit(treeRootHolder.getRoot());
}

@Override
@@ -148,6 +136,18 @@ public class NewCoverageMeasuresStep implements ComputationStep {
}
return Collections.<Formula<?>>singleton(new NewLinesAndConditionsCoverageFormula(scmInfoRepository));
}

/**
* Creates a List of {@link org.sonar.server.computation.task.projectanalysis.formula.SumFormula.IntSumFormula} for each
* metric key of the specified {@link NewCoverageOutputMetricKeys} instance.
*/
private static Iterable<Formula<?>> variationSumFormulas(NewCoverageOutputMetricKeys outputMetricKeys) {
return ImmutableList.of(
new VariationSumFormula(outputMetricKeys.getNewLinesToCover(), viewsRestrictedPeriods()),
new VariationSumFormula(outputMetricKeys.getNewUncoveredLines(), viewsRestrictedPeriods()),
new VariationSumFormula(outputMetricKeys.getNewConditionsToCover(), viewsRestrictedPeriods()),
new VariationSumFormula(outputMetricKeys.getNewUncoveredConditions(), viewsRestrictedPeriods()));
}
}

private static class NewCoverageFormula extends LinesAndConditionsWithUncoveredVariationFormula {
@@ -176,117 +176,6 @@ public class NewCoverageMeasuresStep implements ComputationStep {
}
}

private static class NewItLinesAndConditionsCoverageFormula extends NewLinesAndConditionsFormula {

private static final NewCoverageOutputMetricKeys OUTPUT_METRIC_KEYS = new NewCoverageOutputMetricKeys(
CoreMetrics.NEW_IT_LINES_TO_COVER_KEY, CoreMetrics.NEW_IT_UNCOVERED_LINES_KEY,
CoreMetrics.NEW_IT_CONDITIONS_TO_COVER_KEY, CoreMetrics.NEW_IT_UNCOVERED_CONDITIONS_KEY);
private static final Iterable<Formula<?>> VIEWS_FORMULAS = variationSumFormulas(OUTPUT_METRIC_KEYS);

private NewItLinesAndConditionsCoverageFormula(ScmInfoRepository scmInfoRepository) {
super(scmInfoRepository,
new NewCoverageInputMetricKeys(
CoreMetrics.IT_COVERAGE_LINE_HITS_DATA_KEY, CoreMetrics.IT_CONDITIONS_BY_LINE_KEY, CoreMetrics.IT_COVERED_CONDITIONS_BY_LINE_KEY),
OUTPUT_METRIC_KEYS);
}

public static Iterable<Formula<?>> from(@Nullable ScmInfoRepository scmInfoRepository) {
if (scmInfoRepository == null) {
return VIEWS_FORMULAS;
}
return Collections.<Formula<?>>singleton(new NewItLinesAndConditionsCoverageFormula(scmInfoRepository));
}
}

private static class NewItCoverageFormula extends LinesAndConditionsWithUncoveredVariationFormula {
private NewItCoverageFormula() {
super(
new LinesAndConditionsWithUncoveredMetricKeys(
CoreMetrics.NEW_IT_LINES_TO_COVER_KEY, CoreMetrics.NEW_IT_CONDITIONS_TO_COVER_KEY,
CoreMetrics.NEW_IT_UNCOVERED_LINES_KEY, CoreMetrics.NEW_IT_UNCOVERED_CONDITIONS_KEY),
CoreMetrics.NEW_IT_COVERAGE_KEY);
}
}

private static class NewItBranchCoverageFormula extends SingleWithUncoveredVariationFormula {
public NewItBranchCoverageFormula() {
super(
new SingleWithUncoveredMetricKeys(
CoreMetrics.NEW_IT_CONDITIONS_TO_COVER_KEY, CoreMetrics.NEW_IT_UNCOVERED_CONDITIONS_KEY),
CoreMetrics.NEW_IT_BRANCH_COVERAGE_KEY);
}
}

private static class NewItLinesCoverageFormula extends SingleWithUncoveredVariationFormula {
public NewItLinesCoverageFormula() {
super(
new SingleWithUncoveredMetricKeys(CoreMetrics.NEW_IT_LINES_TO_COVER_KEY, CoreMetrics.NEW_IT_UNCOVERED_LINES_KEY),
CoreMetrics.NEW_IT_LINE_COVERAGE_KEY);
}
}

private static class NewOverallLinesAndConditionsCoverageFormula extends NewLinesAndConditionsFormula {

private static final NewCoverageOutputMetricKeys OUTPUT_METRIC_KEYS = new NewCoverageOutputMetricKeys(
CoreMetrics.NEW_OVERALL_LINES_TO_COVER_KEY, CoreMetrics.NEW_OVERALL_UNCOVERED_LINES_KEY,
CoreMetrics.NEW_OVERALL_CONDITIONS_TO_COVER_KEY, CoreMetrics.NEW_OVERALL_UNCOVERED_CONDITIONS_KEY);
private static final Iterable<Formula<?>> VIEWS_FORMULAS = variationSumFormulas(OUTPUT_METRIC_KEYS);

private NewOverallLinesAndConditionsCoverageFormula(ScmInfoRepository scmInfoRepository) {
super(scmInfoRepository,
new NewCoverageInputMetricKeys(
CoreMetrics.OVERALL_COVERAGE_LINE_HITS_DATA_KEY, CoreMetrics.OVERALL_CONDITIONS_BY_LINE_KEY, CoreMetrics.OVERALL_COVERED_CONDITIONS_BY_LINE_KEY),
OUTPUT_METRIC_KEYS);
}

public static Iterable<Formula<?>> from(@Nullable ScmInfoRepository scmInfoRepository) {
if (scmInfoRepository == null) {
return VIEWS_FORMULAS;
}
return Collections.<Formula<?>>singleton(new NewOverallLinesAndConditionsCoverageFormula(scmInfoRepository));
}
}

private static class NewOverallCodeCoverageFormula extends LinesAndConditionsWithUncoveredVariationFormula {
public NewOverallCodeCoverageFormula() {
super(
new LinesAndConditionsWithUncoveredMetricKeys(
CoreMetrics.NEW_OVERALL_LINES_TO_COVER_KEY, CoreMetrics.NEW_OVERALL_CONDITIONS_TO_COVER_KEY,
CoreMetrics.NEW_OVERALL_UNCOVERED_LINES_KEY, CoreMetrics.NEW_OVERALL_UNCOVERED_CONDITIONS_KEY),
CoreMetrics.NEW_OVERALL_COVERAGE_KEY);
}
}

private static class NewOverallBranchCoverageFormula extends SingleWithUncoveredVariationFormula {
public NewOverallBranchCoverageFormula() {
super(
new SingleWithUncoveredMetricKeys(
CoreMetrics.NEW_OVERALL_CONDITIONS_TO_COVER_KEY, CoreMetrics.NEW_OVERALL_UNCOVERED_CONDITIONS_KEY),
CoreMetrics.NEW_OVERALL_BRANCH_COVERAGE_KEY);
}
}

private static class NewOverallLineCoverageFormula extends SingleWithUncoveredVariationFormula {
public NewOverallLineCoverageFormula() {
super(
new SingleWithUncoveredMetricKeys(
CoreMetrics.NEW_OVERALL_LINES_TO_COVER_KEY, CoreMetrics.NEW_OVERALL_UNCOVERED_LINES_KEY),
CoreMetrics.NEW_OVERALL_LINE_COVERAGE_KEY);
}
}

/**
* Creates a List of {@link org.sonar.server.computation.task.projectanalysis.formula.SumFormula.IntSumFormula} for each
* metric key of the specified {@link NewCoverageOutputMetricKeys} instance.
*/
private static Iterable<Formula<?>> variationSumFormulas(NewCoverageOutputMetricKeys outputMetricKeys) {
return ImmutableList.<Formula<?>>of(
new VariationSumFormula(outputMetricKeys.getNewLinesToCover(), viewsRestrictedPeriods()),
new VariationSumFormula(outputMetricKeys.getNewUncoveredLines(), viewsRestrictedPeriods()),
new VariationSumFormula(outputMetricKeys.getNewConditionsToCover(), viewsRestrictedPeriods()),
new VariationSumFormula(outputMetricKeys.getNewUncoveredConditions(), viewsRestrictedPeriods()));
}

public static class NewLinesAndConditionsFormula implements Formula<NewCoverageCounter> {
private final ScmInfoRepository scmInfoRepository;
private final NewCoverageInputMetricKeys inputMetricKeys;

+ 4
- 124
server/sonar-server/src/test/java/org/sonar/server/component/ws/AppActionTest.java View File

@@ -76,7 +76,7 @@ public class AppActionTest {
insertComponentsAndAnalysis();
dbTester.commit();

userSessionRule.login("john").addComponentPermission(UserRole.USER, MODULE_KEY, FILE_KEY);
userSessionRule.login("john").addComponentUuidPermission(UserRole.USER, PROJECT_UUID, FILE_UUID);
WsTester.TestRequest request = wsTester.newGetRequest("api/components", "app").setParam("uuid", FILE_UUID);
request.execute().assertJson(getClass(), "app.json");
}
@@ -95,48 +95,22 @@ public class AppActionTest {
userSessionRule
.login("john")
.setLocale(Locale.ENGLISH)
.addComponentPermission(UserRole.USER, PROJECT_KEY, FILE_KEY);
.addComponentUuidPermission(UserRole.USER, PROJECT_UUID, FILE_UUID);
WsTester.TestRequest request = wsTester.newGetRequest("api/components", "app").setParam("uuid", FILE_UUID);
request.execute().assertJson(getClass(), "app_with_measures.json");
}

@Test
public void file_with_overall_coverage() throws Exception {
public void file_with_coverage() throws Exception {
insertComponentsAndAnalysis();
insertFileMeasure(metricsByKey.get(CoreMetrics.OVERALL_COVERAGE_KEY).getId(), 90.1, null);
insertFileMeasure(metricsByKey.get(CoreMetrics.COVERAGE_KEY).getId(), 95.4, null);
insertFileMeasure(metricsByKey.get(CoreMetrics.IT_COVERAGE_KEY).getId(), 85.2, null);
dbTester.commit();

userSessionRule.login("john").addComponentPermission(UserRole.USER, PROJECT_KEY, FILE_KEY);
WsTester.TestRequest request = wsTester.newGetRequest("api/components", "app").setParam("uuid", FILE_UUID);
request.execute().assertJson(getClass(), "app_with_overall_measure.json");
}

@Test
public void file_with_ut_coverage() throws Exception {
insertComponentsAndAnalysis();
insertFileMeasure(metricsByKey.get(CoreMetrics.COVERAGE_KEY).getId(), 95.4, null);
insertFileMeasure(metricsByKey.get(CoreMetrics.IT_COVERAGE_KEY).getId(), 85.2, null);
dbTester.commit();

userSessionRule.login("john").addComponentPermission(UserRole.USER, PROJECT_KEY, FILE_KEY);
userSessionRule.login("john").addComponentUuidPermission(UserRole.USER, PROJECT_UUID, FILE_UUID);
WsTester.TestRequest request = wsTester.newGetRequest("api/components", "app").setParam("uuid", FILE_UUID);
request.execute().assertJson(getClass(), "app_with_ut_measure.json");
}

@Test
public void file_with_it_coverage_only() throws Exception {
insertComponentsAndAnalysis();
insertFileMeasure(metricsByKey.get(CoreMetrics.IT_COVERAGE_KEY).getId(), 85.2, null);
dbTester.commit();

userSessionRule.login("john").addComponentPermission(UserRole.USER, PROJECT_KEY, FILE_KEY);
WsTester.TestRequest request = wsTester.newGetRequest("api/components", "app").setParam("uuid", FILE_UUID);
request.execute().assertJson(getClass(), "app_with_it_measure.json");
}


private void insertMetrics() {
metricsByKey = new HashMap<>();
for (String metricKey : AppAction.METRIC_KEYS) {
@@ -174,98 +148,4 @@ public class AppActionTest {
.setData(data);
dbTester.getDbClient().measureDao().insert(dbTester.getSession(), measure);
}

// @Test
// public void app_with_overall_measure() throws Exception {
// userSessionRule.addComponentPermission(UserRole.USER, SUB_PROJECT_KEY, FILE_KEY);
// ComponentDto project = newProject();
// newComponent(project);
//
// addMeasure(CoreMetrics.OVERALL_COVERAGE_KEY, 90.1);
// addMeasure(CoreMetrics.COVERAGE_KEY, 95.4);
// addMeasure(CoreMetrics.IT_COVERAGE_KEY, 85.2);
//
// WsTester.TestRequest request = wsTester.newGetRequest("api/components", "app").setParam("uuid", COMPONENT_UUID);
// request.execute().assertJson(getClass(), "app_with_overall_measure.json");
// }
//
// @Test
// public void app_with_ut_measure() throws Exception {
// userSessionRule.addComponentPermission(UserRole.USER, SUB_PROJECT_KEY, FILE_KEY);
// ComponentDto project = newProject();
// newComponent(project);
//
// addMeasure(CoreMetrics.COVERAGE_KEY, 95.4);
// addMeasure(CoreMetrics.IT_COVERAGE_KEY, 85.2);
//
// WsTester.TestRequest request = wsTester.newGetRequest("api/components", "app").setParam("uuid", COMPONENT_UUID);
// request.execute().assertJson(getClass(), "app_with_ut_measure.json");
// }
//
// @Test
// public void app_with_it_measure() throws Exception {
// userSessionRule.addComponentPermission(UserRole.USER, SUB_PROJECT_KEY, FILE_KEY);
// ComponentDto project = newProject();
// newComponent(project);
//
// addMeasure(CoreMetrics.IT_COVERAGE_KEY, 85.2);
//
// WsTester.TestRequest request = wsTester.newGetRequest("api/components", "app").setParam("uuid", COMPONENT_UUID);
// request.execute().assertJson(getClass(), "app_with_it_measure.json");
// }
//
// @Test
// public void fail_on_unknown_component() {
// userSessionRule.login("john").addComponentPermission(UserRole.USER, SUB_PROJECT_KEY, FILE_KEY);
// when(componentDao.selectByUuid(session, COMPONENT_UUID)).thenReturn(Optional.<ComponentDto>absent());
//
// try {
// wsTester.newGetRequest("api/components", "app").setParam("uuid", COMPONENT_UUID).execute();
// fail();
// } catch (Exception e) {
// assertThat(e).isInstanceOf(NotFoundException.class).hasMessage("Component id 'ABCDE' not found");
// }
// }
//
// private ComponentDto newProject() {
// return ComponentTesting.newProjectDto()
// .setId(1L)
// .setName("SonarQube")
// .setUuid(PROJECT_UUID)
// .setLongName("SonarQube")
// .setKey("org.codehaus.sonar:sonar");
// }
//
// private ComponentDto newComponent(ComponentDto project) {
// ComponentDto file = ComponentTesting.newFileDto(project)
// .setId(10L)
// .setQualifier("FIL")
// .setKey(FILE_KEY)
// .setUuid(COMPONENT_UUID)
// .setProjectUuid(PROJECT_UUID)
// .setName("Plugin.java")
// .setLongName("src/main/java/org/sonar/api/Plugin.java")
// .setPath("src/main/java/org/sonar/api/Plugin.java")
// .setRootUuid("uuid_5");
// when(componentDao.selectByUuid(session, COMPONENT_UUID)).thenReturn(Optional.of(file));
// when(componentDao.selectOrFailByUuid(session, "uuid_5")).thenReturn(new ComponentDto().setUuid("uuid_5").setLongName("SonarQube ::
// Plugin API").setKey(SUB_PROJECT_KEY));
// when(componentDao.selectOrFailByUuid(session, project.uuid())).thenReturn(project);
// return file;
// }
//
// private void addMeasure(String metricKey, Integer value) {
// measures.add(new MeasureDto().setMetricKey(metricKey).setValue(value.doubleValue()));
// when(i18n.formatInteger(any(Locale.class), eq(value.intValue()))).thenReturn(Integer.toString(value));
// }
//
// private void addMeasure(String metricKey, Double value) {
// measures.add(new MeasureDto().setMetricKey(metricKey).setValue(value));
// when(i18n.formatDouble(any(Locale.class), eq(value))).thenReturn(Double.toString(value));
// }
//
// private void addMeasure(String metricKey, String value) {
// measures.add(new MeasureDto().setMetricKey(metricKey).setData(value));
// }

}

+ 17
- 17
server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/formula/ReportFormulaExecutorComponentVisitorTest.java View File

@@ -24,10 +24,10 @@ import com.google.common.collect.ImmutableList;
import org.junit.Rule;
import org.junit.Test;
import org.sonar.api.measures.CoreMetrics;
import org.sonar.server.computation.task.projectanalysis.component.TreeRootHolderRule;
import org.sonar.server.computation.task.projectanalysis.component.Component;
import org.sonar.server.computation.task.projectanalysis.component.PathAwareCrawler;
import org.sonar.server.computation.task.projectanalysis.component.ReportComponent;
import org.sonar.server.computation.task.projectanalysis.component.TreeRootHolderRule;
import org.sonar.server.computation.task.projectanalysis.formula.counter.IntVariationValue;
import org.sonar.server.computation.task.projectanalysis.measure.Measure;
import org.sonar.server.computation.task.projectanalysis.measure.MeasureRepositoryRule;
@@ -40,7 +40,7 @@ import org.sonar.server.computation.task.projectanalysis.period.PeriodsHolderRul
import static org.assertj.core.api.Assertions.assertThat;
import static org.sonar.api.measures.CoreMetrics.LINES_KEY;
import static org.sonar.api.measures.CoreMetrics.NCLOC_KEY;
import static org.sonar.api.measures.CoreMetrics.NEW_IT_COVERAGE_KEY;
import static org.sonar.api.measures.CoreMetrics.NEW_COVERAGE_KEY;
import static org.sonar.api.measures.CoreMetrics.NEW_LINES_TO_COVER_KEY;
import static org.sonar.server.computation.task.projectanalysis.component.Component.Type.DIRECTORY;
import static org.sonar.server.computation.task.projectanalysis.component.Component.Type.MODULE;
@@ -86,7 +86,7 @@ public class ReportFormulaExecutorComponentVisitorTest {
.add(CoreMetrics.LINES)
.add(CoreMetrics.NCLOC)
.add(CoreMetrics.NEW_LINES_TO_COVER)
.add(CoreMetrics.NEW_IT_COVERAGE);
.add(CoreMetrics.NEW_COVERAGE);
@Rule
public MeasureRepositoryRule measureRepository = MeasureRepositoryRule.create(treeRootHolder, metricRepository);
@Rule
@@ -127,28 +127,28 @@ public class ReportFormulaExecutorComponentVisitorTest {

assertThat(toEntries(measureRepository.getAddedRawMeasures(ROOT_REF))).containsOnly(
entryOf(NEW_LINES_TO_COVER_KEY, newMeasureBuilder().create(30)),
entryOf(NEW_IT_COVERAGE_KEY, newMeasureBuilder().create(120)));
entryOf(NEW_COVERAGE_KEY, newMeasureBuilder().create(120)));
assertThat(toEntries(measureRepository.getAddedRawMeasures(MODULE_1_REF))).containsOnly(
entryOf(NEW_LINES_TO_COVER_KEY, newMeasureBuilder().create(28)),
entryOf(NEW_IT_COVERAGE_KEY, newMeasureBuilder().create(118)));
entryOf(NEW_COVERAGE_KEY, newMeasureBuilder().create(118)));
assertThat(toEntries(measureRepository.getAddedRawMeasures(111))).containsOnly(
entryOf(NEW_LINES_TO_COVER_KEY, newMeasureBuilder().create(28)),
entryOf(NEW_IT_COVERAGE_KEY, newMeasureBuilder().create(118)));
entryOf(NEW_COVERAGE_KEY, newMeasureBuilder().create(118)));
assertThat(toEntries(measureRepository.getAddedRawMeasures(FILE_1_REF))).containsOnly(
entryOf(NEW_LINES_TO_COVER_KEY, newMeasureBuilder().create(20)),
entryOf(NEW_IT_COVERAGE_KEY, newMeasureBuilder().create(110)));
entryOf(NEW_COVERAGE_KEY, newMeasureBuilder().create(110)));
assertThat(toEntries(measureRepository.getAddedRawMeasures(FILE_2_REF))).containsOnly(
entryOf(NEW_LINES_TO_COVER_KEY, newMeasureBuilder().create(18)),
entryOf(NEW_IT_COVERAGE_KEY, newMeasureBuilder().create(108)));
entryOf(NEW_COVERAGE_KEY, newMeasureBuilder().create(108)));
assertThat(toEntries(measureRepository.getAddedRawMeasures(MODULE_2_REF))).containsOnly(
entryOf(NEW_LINES_TO_COVER_KEY, newMeasureBuilder().create(MODULE_2_REF)),
entryOf(NEW_IT_COVERAGE_KEY, newMeasureBuilder().create(102)));
entryOf(NEW_COVERAGE_KEY, newMeasureBuilder().create(102)));
assertThat(toEntries(measureRepository.getAddedRawMeasures(DIRECTORY_2_REF))).containsOnly(
entryOf(NEW_LINES_TO_COVER_KEY, newMeasureBuilder().create(MODULE_2_REF)),
entryOf(NEW_IT_COVERAGE_KEY, newMeasureBuilder().create(102)));
entryOf(NEW_COVERAGE_KEY, newMeasureBuilder().create(102)));
assertThat(toEntries(measureRepository.getAddedRawMeasures(FILE_3_REF))).containsOnly(
entryOf(NEW_LINES_TO_COVER_KEY, newMeasureBuilder().create(MODULE_2_REF)),
entryOf(NEW_IT_COVERAGE_KEY, newMeasureBuilder().create(102)));
entryOf(NEW_COVERAGE_KEY, newMeasureBuilder().create(102)));
}

@Test
@@ -229,7 +229,7 @@ public class ReportFormulaExecutorComponentVisitorTest {

private void assertAddedRawMeasure(int componentRef, int variation2Value, int variation5Value) {
assertThat(toEntries(measureRepository.getAddedRawMeasures(componentRef)))
.containsOnly(entryOf(NEW_IT_COVERAGE_KEY, createMeasureWithVariation(variation2Value, variation5Value)));
.containsOnly(entryOf(NEW_COVERAGE_KEY, createMeasureWithVariation(variation2Value, variation5Value)));
}

private class FakeFormula implements Formula<FakeCounter> {
@@ -268,7 +268,7 @@ public class ReportFormulaExecutorComponentVisitorTest {
assertThat(context.getPeriods()).isEqualTo(periodsHolder.getPeriods());
assertThat(context.getComponent()).isNotNull();
assertThat(context.getMetric())
.isIn(metricRepository.getByKey(NEW_LINES_TO_COVER_KEY), metricRepository.getByKey(NEW_IT_COVERAGE_KEY));
.isIn(metricRepository.getByKey(NEW_LINES_TO_COVER_KEY), metricRepository.getByKey(NEW_COVERAGE_KEY));

return Optional.of(Measure.newMeasureBuilder().create(counter.value + metricOffset(context.getMetric())));
}
@@ -277,7 +277,7 @@ public class ReportFormulaExecutorComponentVisitorTest {
if (metric.getKey().equals(NEW_LINES_TO_COVER_KEY)) {
return 10;
}
if (metric.getKey().equals(NEW_IT_COVERAGE_KEY)) {
if (metric.getKey().equals(NEW_COVERAGE_KEY)) {
return 100;
}
throw new IllegalArgumentException("Unsupported metric " + metric);
@@ -285,7 +285,7 @@ public class ReportFormulaExecutorComponentVisitorTest {

@Override
public String[] getOutputMetricKeys() {
return new String[] {NEW_LINES_TO_COVER_KEY, NEW_IT_COVERAGE_KEY};
return new String[] {NEW_LINES_TO_COVER_KEY, NEW_COVERAGE_KEY};
}
}

@@ -322,7 +322,7 @@ public class ReportFormulaExecutorComponentVisitorTest {
// verify the context which is passed to the method
assertThat(context.getPeriods()).isEqualTo(periodsHolder.getPeriods());
assertThat(context.getComponent()).isNotNull();
assertThat(context.getMetric()).isSameAs(metricRepository.getByKey(NEW_IT_COVERAGE_KEY));
assertThat(context.getMetric()).isSameAs(metricRepository.getByKey(NEW_COVERAGE_KEY));

Optional<MeasureVariations> measureVariations = counter.values.toMeasureVariations();
if (measureVariations.isPresent()) {
@@ -336,7 +336,7 @@ public class ReportFormulaExecutorComponentVisitorTest {

@Override
public String[] getOutputMetricKeys() {
return new String[] {NEW_IT_COVERAGE_KEY};
return new String[] {NEW_COVERAGE_KEY};
}
}


+ 10
- 10
server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/formula/ViewsFormulaExecutorComponentVisitorTest.java View File

@@ -25,8 +25,8 @@ import org.assertj.core.api.AbstractIterableAssert;
import org.junit.Rule;
import org.junit.Test;
import org.sonar.api.measures.CoreMetrics;
import org.sonar.server.computation.task.projectanalysis.component.TreeRootHolderRule;
import org.sonar.server.computation.task.projectanalysis.component.PathAwareCrawler;
import org.sonar.server.computation.task.projectanalysis.component.TreeRootHolderRule;
import org.sonar.server.computation.task.projectanalysis.component.ViewsComponent;
import org.sonar.server.computation.task.projectanalysis.formula.counter.IntVariationValue;
import org.sonar.server.computation.task.projectanalysis.measure.Measure;
@@ -42,7 +42,7 @@ import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.guava.api.Assertions.assertThat;
import static org.sonar.api.measures.CoreMetrics.LINES_KEY;
import static org.sonar.api.measures.CoreMetrics.NCLOC_KEY;
import static org.sonar.api.measures.CoreMetrics.NEW_IT_COVERAGE_KEY;
import static org.sonar.api.measures.CoreMetrics.NEW_COVERAGE_KEY;
import static org.sonar.api.measures.CoreMetrics.NEW_LINES_TO_COVER_KEY;
import static org.sonar.server.computation.task.projectanalysis.component.Component.Type.PROJECT_VIEW;
import static org.sonar.server.computation.task.projectanalysis.component.Component.Type.SUBVIEW;
@@ -86,7 +86,7 @@ public class ViewsFormulaExecutorComponentVisitorTest {
.add(CoreMetrics.LINES)
.add(CoreMetrics.NCLOC)
.add(CoreMetrics.NEW_LINES_TO_COVER)
.add(CoreMetrics.NEW_IT_COVERAGE);
.add(CoreMetrics.NEW_COVERAGE);
@Rule
public MeasureRepositoryRule measureRepository = MeasureRepositoryRule.create(treeRootHolder, metricRepository);
@Rule
@@ -155,7 +155,7 @@ public class ViewsFormulaExecutorComponentVisitorTest {
private AbstractIterableAssert<?, ? extends Iterable<? extends MeasureRepoEntry>, MeasureRepoEntry> verifySingleMetricWithVariations(int componentRef, int variation2Value,
int variation5Value) {
return assertThat(toEntries(measureRepository.getAddedRawMeasures(componentRef)))
.containsOnly(entryOf(NEW_IT_COVERAGE_KEY, createMeasureWithVariation(variation2Value, variation5Value)));
.containsOnly(entryOf(NEW_COVERAGE_KEY, createMeasureWithVariation(variation2Value, variation5Value)));
}

private MeasureRepositoryRule addRawMeasureWithVariation(int componentRef, String metricKey, int variation2Value, int variation5Value) {
@@ -244,7 +244,7 @@ public class ViewsFormulaExecutorComponentVisitorTest {
assertThat(context.getPeriods()).isEqualTo(periodsHolder.getPeriods());
assertThat(context.getComponent()).isNotNull();
assertThat(context.getMetric())
.isIn(metricRepository.getByKey(NEW_LINES_TO_COVER_KEY), metricRepository.getByKey(NEW_IT_COVERAGE_KEY));
.isIn(metricRepository.getByKey(NEW_LINES_TO_COVER_KEY), metricRepository.getByKey(NEW_COVERAGE_KEY));

return Optional.of(Measure.newMeasureBuilder().create(counter.value + metricOffset(context.getMetric())));
}
@@ -253,7 +253,7 @@ public class ViewsFormulaExecutorComponentVisitorTest {
if (metric.getKey().equals(NEW_LINES_TO_COVER_KEY)) {
return 10;
}
if (metric.getKey().equals(NEW_IT_COVERAGE_KEY)) {
if (metric.getKey().equals(NEW_COVERAGE_KEY)) {
return 100;
}
throw new IllegalArgumentException("Unsupported metric " + metric);
@@ -261,7 +261,7 @@ public class ViewsFormulaExecutorComponentVisitorTest {

@Override
public String[] getOutputMetricKeys() {
return new String[] {NEW_LINES_TO_COVER_KEY, NEW_IT_COVERAGE_KEY};
return new String[] {NEW_LINES_TO_COVER_KEY, NEW_COVERAGE_KEY};
}
}

@@ -296,7 +296,7 @@ public class ViewsFormulaExecutorComponentVisitorTest {
// verify the context which is passed to the method
assertThat(context.getPeriods()).isEqualTo(periodsHolder.getPeriods());
assertThat(context.getComponent()).isNotNull();
assertThat(context.getMetric()).isSameAs(metricRepository.getByKey(NEW_IT_COVERAGE_KEY));
assertThat(context.getMetric()).isSameAs(metricRepository.getByKey(NEW_COVERAGE_KEY));

Optional<MeasureVariations> measureVariations = counter.values.toMeasureVariations();
if (measureVariations.isPresent()) {
@@ -310,7 +310,7 @@ public class ViewsFormulaExecutorComponentVisitorTest {

@Override
public String[] getOutputMetricKeys() {
return new String[] {NEW_IT_COVERAGE_KEY};
return new String[] {NEW_COVERAGE_KEY};
}
}

@@ -364,7 +364,7 @@ public class ViewsFormulaExecutorComponentVisitorTest {
assertThat(toEntries(measureRepository.getAddedRawMeasures(componentRef)))
.containsOnly(
entryOf(NEW_LINES_TO_COVER_KEY, newMeasureBuilder().create(valueLinesToCover)),
entryOf(NEW_IT_COVERAGE_KEY, newMeasureBuilder().create(valueItCoverage)));
entryOf(NEW_COVERAGE_KEY, newMeasureBuilder().create(valueItCoverage)));
}

private void verifyLeafContext(CounterInitializationContext context) {

+ 4
- 60
server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/step/ReportCoverageMeasuresStepTest.java View File

@@ -23,8 +23,8 @@ import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.sonar.api.measures.CoreMetrics;
import org.sonar.server.computation.task.projectanalysis.component.TreeRootHolderRule;
import org.sonar.server.computation.task.projectanalysis.component.FileAttributes;
import org.sonar.server.computation.task.projectanalysis.component.TreeRootHolderRule;
import org.sonar.server.computation.task.projectanalysis.formula.coverage.LinesAndConditionsWithUncoveredMetricKeys;
import org.sonar.server.computation.task.projectanalysis.measure.MeasureRepoEntry;
import org.sonar.server.computation.task.projectanalysis.measure.MeasureRepositoryRule;
@@ -60,23 +60,7 @@ public class ReportCoverageMeasuresStepTest {
.add(CoreMetrics.UNCOVERED_CONDITIONS)
.add(CoreMetrics.COVERAGE)
.add(CoreMetrics.BRANCH_COVERAGE)
.add(CoreMetrics.LINE_COVERAGE)

.add(CoreMetrics.IT_LINES_TO_COVER)
.add(CoreMetrics.IT_CONDITIONS_TO_COVER)
.add(CoreMetrics.IT_UNCOVERED_LINES)
.add(CoreMetrics.IT_UNCOVERED_CONDITIONS)
.add(CoreMetrics.IT_COVERAGE)
.add(CoreMetrics.IT_BRANCH_COVERAGE)
.add(CoreMetrics.IT_LINE_COVERAGE)

.add(CoreMetrics.OVERALL_LINES_TO_COVER)
.add(CoreMetrics.OVERALL_CONDITIONS_TO_COVER)
.add(CoreMetrics.OVERALL_UNCOVERED_LINES)
.add(CoreMetrics.OVERALL_UNCOVERED_CONDITIONS)
.add(CoreMetrics.OVERALL_COVERAGE)
.add(CoreMetrics.OVERALL_BRANCH_COVERAGE)
.add(CoreMetrics.OVERALL_LINE_COVERAGE);
.add(CoreMetrics.LINE_COVERAGE);
@Rule
public MeasureRepositoryRule measureRepository = MeasureRepositoryRule.create(treeRootHolder, metricRepository);

@@ -110,22 +94,6 @@ public class ReportCoverageMeasuresStepTest {
verify_lines_and_conditions_aggregates_values(metricKeys);
}

@Test
public void verify_aggregates_values_for_it_lines_and_conditions() {
LinesAndConditionsWithUncoveredMetricKeys metricKeys = new LinesAndConditionsWithUncoveredMetricKeys(
CoreMetrics.IT_LINES_TO_COVER_KEY, CoreMetrics.IT_CONDITIONS_TO_COVER_KEY,
CoreMetrics.IT_UNCOVERED_LINES_KEY, CoreMetrics.IT_UNCOVERED_CONDITIONS_KEY);
verify_lines_and_conditions_aggregates_values(metricKeys);
}

@Test
public void verify_aggregates_values_for_overall_lines_and_conditions() {
LinesAndConditionsWithUncoveredMetricKeys metricKeys = new LinesAndConditionsWithUncoveredMetricKeys(
CoreMetrics.OVERALL_LINES_TO_COVER_KEY, CoreMetrics.OVERALL_CONDITIONS_TO_COVER_KEY,
CoreMetrics.OVERALL_UNCOVERED_LINES_KEY, CoreMetrics.OVERALL_UNCOVERED_CONDITIONS_KEY);
verify_lines_and_conditions_aggregates_values(metricKeys);
}

private void verify_lines_and_conditions_aggregates_values(LinesAndConditionsWithUncoveredMetricKeys metricKeys) {
measureRepository
.addRawMeasure(FILE_1_REF, metricKeys.getLines(), newMeasureBuilder().create(3000))
@@ -133,7 +101,7 @@ public class ReportCoverageMeasuresStepTest {
.addRawMeasure(FILE_1_REF, metricKeys.getUncoveredLines(), newMeasureBuilder().create(30))
.addRawMeasure(FILE_1_REF, metricKeys.getUncoveredConditions(), newMeasureBuilder().create(9))

.addRawMeasure(FILE_2_REF, metricKeys.getLines(), newMeasureBuilder().create(2000))
.addRawMeasure(FILE_2_REF, metricKeys.getLines(), newMeasureBuilder().create(2000))
.addRawMeasure(FILE_2_REF, metricKeys.getConditions(), newMeasureBuilder().create(400))
.addRawMeasure(FILE_2_REF, metricKeys.getUncoveredLines(), newMeasureBuilder().create(200))
.addRawMeasure(FILE_2_REF, metricKeys.getUncoveredConditions(), newMeasureBuilder().create(16));
@@ -165,30 +133,6 @@ public class ReportCoverageMeasuresStepTest {
verify_coverage_aggregates_values(metricKeys, codeCoverageKey, lineCoverageKey, branchCoverageKey);
}

@Test
public void verify_aggregates_values_for_IT_code_line_and_branch_coverage() {
LinesAndConditionsWithUncoveredMetricKeys metricKeys = new LinesAndConditionsWithUncoveredMetricKeys(
CoreMetrics.IT_LINES_TO_COVER_KEY, CoreMetrics.IT_CONDITIONS_TO_COVER_KEY,
CoreMetrics.IT_UNCOVERED_LINES_KEY, CoreMetrics.IT_UNCOVERED_CONDITIONS_KEY);
String codeCoverageKey = CoreMetrics.IT_COVERAGE_KEY;
String lineCoverageKey = CoreMetrics.IT_LINE_COVERAGE_KEY;
String branchCoverageKey = CoreMetrics.IT_BRANCH_COVERAGE_KEY;

verify_coverage_aggregates_values(metricKeys, codeCoverageKey, lineCoverageKey, branchCoverageKey);
}

@Test
public void verify_aggregates_values_for_Overall_code_line_and_branch_coverage() {
LinesAndConditionsWithUncoveredMetricKeys metricKeys = new LinesAndConditionsWithUncoveredMetricKeys(
CoreMetrics.OVERALL_LINES_TO_COVER_KEY, CoreMetrics.OVERALL_CONDITIONS_TO_COVER_KEY,
CoreMetrics.OVERALL_UNCOVERED_LINES_KEY, CoreMetrics.OVERALL_UNCOVERED_CONDITIONS_KEY);
String codeCoverageKey = CoreMetrics.OVERALL_COVERAGE_KEY;
String lineCoverageKey = CoreMetrics.OVERALL_LINE_COVERAGE_KEY;
String branchCoverageKey = CoreMetrics.OVERALL_BRANCH_COVERAGE_KEY;

verify_coverage_aggregates_values(metricKeys, codeCoverageKey, lineCoverageKey, branchCoverageKey);
}

private void verify_coverage_aggregates_values(LinesAndConditionsWithUncoveredMetricKeys metricKeys, String codeCoverageKey, String lineCoverageKey, String branchCoverageKey) {
measureRepository
.addRawMeasure(FILE_1_REF, metricKeys.getLines(), newMeasureBuilder().create(3000))
@@ -196,7 +140,7 @@ public class ReportCoverageMeasuresStepTest {
.addRawMeasure(FILE_1_REF, metricKeys.getUncoveredLines(), newMeasureBuilder().create(30))
.addRawMeasure(FILE_1_REF, metricKeys.getUncoveredConditions(), newMeasureBuilder().create(9))

.addRawMeasure(FILE_2_REF, metricKeys.getLines(), newMeasureBuilder().create(2000))
.addRawMeasure(FILE_2_REF, metricKeys.getLines(), newMeasureBuilder().create(2000))
.addRawMeasure(FILE_2_REF, metricKeys.getConditions(), newMeasureBuilder().create(400))
.addRawMeasure(FILE_2_REF, metricKeys.getUncoveredLines(), newMeasureBuilder().create(200))
.addRawMeasure(FILE_2_REF, metricKeys.getUncoveredConditions(), newMeasureBuilder().create(16));

+ 10
- 125
server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/step/ReportNewCoverageMeasuresStepTest.java View File

@@ -45,15 +45,7 @@ import static org.sonar.api.measures.CoreMetrics.CONDITIONS_BY_LINE_KEY;
import static org.sonar.api.measures.CoreMetrics.COVERAGE_LINE_HITS_DATA_KEY;
import static org.sonar.api.measures.CoreMetrics.COVERED_CONDITIONS_BY_LINE_KEY;
import static org.sonar.api.measures.CoreMetrics.NEW_CONDITIONS_TO_COVER_KEY;
import static org.sonar.api.measures.CoreMetrics.NEW_IT_CONDITIONS_TO_COVER_KEY;
import static org.sonar.api.measures.CoreMetrics.NEW_IT_LINES_TO_COVER_KEY;
import static org.sonar.api.measures.CoreMetrics.NEW_IT_UNCOVERED_CONDITIONS_KEY;
import static org.sonar.api.measures.CoreMetrics.NEW_IT_UNCOVERED_LINES_KEY;
import static org.sonar.api.measures.CoreMetrics.NEW_LINES_TO_COVER_KEY;
import static org.sonar.api.measures.CoreMetrics.NEW_OVERALL_CONDITIONS_TO_COVER_KEY;
import static org.sonar.api.measures.CoreMetrics.NEW_OVERALL_LINES_TO_COVER_KEY;
import static org.sonar.api.measures.CoreMetrics.NEW_OVERALL_UNCOVERED_CONDITIONS_KEY;
import static org.sonar.api.measures.CoreMetrics.NEW_OVERALL_UNCOVERED_LINES_KEY;
import static org.sonar.api.measures.CoreMetrics.NEW_UNCOVERED_CONDITIONS_KEY;
import static org.sonar.api.measures.CoreMetrics.NEW_UNCOVERED_LINES_KEY;
import static org.sonar.api.utils.DateUtils.parseDate;
@@ -114,29 +106,8 @@ public class ReportNewCoverageMeasuresStepTest {
.add(CoreMetrics.NEW_UNCOVERED_CONDITIONS)
.add(CoreMetrics.NEW_COVERAGE)
.add(CoreMetrics.NEW_BRANCH_COVERAGE)
.add(CoreMetrics.NEW_LINE_COVERAGE)

.add(CoreMetrics.IT_COVERAGE_LINE_HITS_DATA)
.add(CoreMetrics.IT_CONDITIONS_BY_LINE)
.add(CoreMetrics.IT_COVERED_CONDITIONS_BY_LINE)
.add(CoreMetrics.NEW_IT_LINES_TO_COVER)
.add(CoreMetrics.NEW_IT_UNCOVERED_LINES)
.add(CoreMetrics.NEW_IT_CONDITIONS_TO_COVER)
.add(CoreMetrics.NEW_IT_UNCOVERED_CONDITIONS)
.add(CoreMetrics.NEW_IT_COVERAGE)
.add(CoreMetrics.NEW_IT_BRANCH_COVERAGE)
.add(CoreMetrics.NEW_IT_LINE_COVERAGE)

.add(CoreMetrics.OVERALL_COVERAGE_LINE_HITS_DATA)
.add(CoreMetrics.OVERALL_CONDITIONS_BY_LINE)
.add(CoreMetrics.OVERALL_COVERED_CONDITIONS_BY_LINE)
.add(CoreMetrics.NEW_OVERALL_LINES_TO_COVER)
.add(CoreMetrics.NEW_OVERALL_UNCOVERED_LINES)
.add(CoreMetrics.NEW_OVERALL_CONDITIONS_TO_COVER)
.add(CoreMetrics.NEW_OVERALL_UNCOVERED_CONDITIONS)
.add(CoreMetrics.NEW_OVERALL_COVERAGE)
.add(CoreMetrics.NEW_OVERALL_BRANCH_COVERAGE)
.add(CoreMetrics.NEW_OVERALL_LINE_COVERAGE);
.add(CoreMetrics.NEW_LINE_COVERAGE);

@Rule
public MeasureRepositoryRule measureRepository = MeasureRepositoryRule.create(treeRootHolder, metricRepository);

@@ -239,30 +210,6 @@ public class ReportNewCoverageMeasuresStepTest {
newLinesToCover, newUncoveredLines, newConditionsToCover, newUncoveredConditions);
}

@Test
public void verify_computation_of_measures_for_new_lines_for_IT_FILE() {
String coverageLineHitsData = CoreMetrics.IT_COVERAGE_LINE_HITS_DATA_KEY;
String newLinesToCover = NEW_IT_LINES_TO_COVER_KEY;
String newUncoveredLines = NEW_IT_UNCOVERED_LINES_KEY;
String newConditionsToCover = NEW_IT_CONDITIONS_TO_COVER_KEY;
String newUncoveredConditions = NEW_IT_UNCOVERED_CONDITIONS_KEY;

verify_computation_of_measures_for_new_lines(coverageLineHitsData,
newLinesToCover, newUncoveredLines, newConditionsToCover, newUncoveredConditions);
}

@Test
public void verify_computation_of_measures_for_new_lines_for_Overall() {
String coverageLineHitsData = CoreMetrics.OVERALL_COVERAGE_LINE_HITS_DATA_KEY;
String newLinesToCover = NEW_OVERALL_LINES_TO_COVER_KEY;
String newUncoveredLines = NEW_OVERALL_UNCOVERED_LINES_KEY;
String newConditionsToCover = NEW_OVERALL_CONDITIONS_TO_COVER_KEY;
String newUncoveredConditions = NEW_OVERALL_UNCOVERED_CONDITIONS_KEY;

verify_computation_of_measures_for_new_lines(coverageLineHitsData,
newLinesToCover, newUncoveredLines, newConditionsToCover, newUncoveredConditions);
}

private void verify_computation_of_measures_for_new_lines(String coverageLineHitsData,
String newLinesToCover, String newUncoveredLines, String newConditionsToCover, String newUncoveredConditions) {
treeRootHolder.setRoot(FILE_COMPONENT);
@@ -297,43 +244,15 @@ public class ReportNewCoverageMeasuresStepTest {
newLinesToCover, newUncoveredLines, newConditionsToCover, newUncoveredConditions));
}

@Test
public void verify_computation_of_measures_for_new_conditions_for_IT_FILE() {
String coverageLineHitsData = CoreMetrics.IT_COVERAGE_LINE_HITS_DATA_KEY;
String conditionsByLine = CoreMetrics.IT_CONDITIONS_BY_LINE_KEY;
String coveredConditionsByLine = CoreMetrics.IT_COVERED_CONDITIONS_BY_LINE_KEY;
String newLinesToCover = NEW_IT_LINES_TO_COVER_KEY;
String newUncoveredLines = NEW_IT_UNCOVERED_LINES_KEY;
String newConditionsToCover = NEW_IT_CONDITIONS_TO_COVER_KEY;
String newUncoveredConditions = NEW_IT_UNCOVERED_CONDITIONS_KEY;

verify_computation_of_measures_for_new_conditions(new MetricKeys(coverageLineHitsData, conditionsByLine, coveredConditionsByLine,
newLinesToCover, newUncoveredLines, newConditionsToCover, newUncoveredConditions));
}

@Test
public void verify_computation_of_measures_for_new_conditions_Overall() {
String coverageLineHitsData = CoreMetrics.OVERALL_COVERAGE_LINE_HITS_DATA_KEY;
String conditionsByLine = CoreMetrics.OVERALL_CONDITIONS_BY_LINE_KEY;
String coveredConditionsByLine = CoreMetrics.OVERALL_COVERED_CONDITIONS_BY_LINE_KEY;
String newLinesToCover = NEW_OVERALL_LINES_TO_COVER_KEY;
String newUncoveredLines = NEW_OVERALL_UNCOVERED_LINES_KEY;
String newConditionsToCover = NEW_OVERALL_CONDITIONS_TO_COVER_KEY;
String newUncoveredConditions = NEW_OVERALL_UNCOVERED_CONDITIONS_KEY;

verify_computation_of_measures_for_new_conditions(new MetricKeys(coverageLineHitsData, conditionsByLine, coveredConditionsByLine,
newLinesToCover, newUncoveredLines, newConditionsToCover, newUncoveredConditions));
}

@Test
public void verify_aggregation_of_measures_for_new_conditions() {
String coverageLineHitsData = CoreMetrics.IT_COVERAGE_LINE_HITS_DATA_KEY;
String conditionsByLine = CoreMetrics.IT_CONDITIONS_BY_LINE_KEY;
String coveredConditionsByLine = CoreMetrics.IT_COVERED_CONDITIONS_BY_LINE_KEY;
String newLinesToCover = NEW_IT_LINES_TO_COVER_KEY;
String newUncoveredLines = NEW_IT_UNCOVERED_LINES_KEY;
String newConditionsToCover = NEW_IT_CONDITIONS_TO_COVER_KEY;
String newUncoveredConditions = NEW_IT_UNCOVERED_CONDITIONS_KEY;
String coverageLineHitsData = CoreMetrics.COVERAGE_LINE_HITS_DATA_KEY;
String conditionsByLine = CoreMetrics.CONDITIONS_BY_LINE_KEY;
String coveredConditionsByLine = CoreMetrics.COVERED_CONDITIONS_BY_LINE_KEY;
String newLinesToCover = NEW_LINES_TO_COVER_KEY;
String newUncoveredLines = NEW_UNCOVERED_LINES_KEY;
String newConditionsToCover = NEW_CONDITIONS_TO_COVER_KEY;
String newUncoveredConditions = NEW_UNCOVERED_CONDITIONS_KEY;

MetricKeys metricKeys = new MetricKeys(coverageLineHitsData, conditionsByLine, coveredConditionsByLine,
newLinesToCover, newUncoveredLines, newConditionsToCover, newUncoveredConditions);
@@ -396,30 +315,6 @@ public class ReportNewCoverageMeasuresStepTest {
verify_aggregates_variations(metricKeys, codeCoverageKey, lineCoverageKey, branchCoverageKey);
}

@Test
public void verify_aggregates_variations_for_new_IT_code_line_and_branch_Coverage() {
LinesAndConditionsWithUncoveredMetricKeys metricKeys = new LinesAndConditionsWithUncoveredMetricKeys(
NEW_IT_LINES_TO_COVER_KEY, NEW_IT_CONDITIONS_TO_COVER_KEY,
NEW_IT_UNCOVERED_LINES_KEY, NEW_IT_UNCOVERED_CONDITIONS_KEY);
String codeCoverageKey = CoreMetrics.NEW_IT_COVERAGE_KEY;
String lineCoverageKey = CoreMetrics.NEW_IT_LINE_COVERAGE_KEY;
String branchCoverageKey = CoreMetrics.NEW_IT_BRANCH_COVERAGE_KEY;

verify_aggregates_variations(metricKeys, codeCoverageKey, lineCoverageKey, branchCoverageKey);
}

@Test
public void verify_aggregates_variations_for_new_Overall_code_line_and_branch_Coverage() {
LinesAndConditionsWithUncoveredMetricKeys metricKeys = new LinesAndConditionsWithUncoveredMetricKeys(
NEW_OVERALL_LINES_TO_COVER_KEY, NEW_OVERALL_CONDITIONS_TO_COVER_KEY,
NEW_OVERALL_UNCOVERED_LINES_KEY, NEW_OVERALL_UNCOVERED_CONDITIONS_KEY);
String codeCoverageKey = CoreMetrics.NEW_OVERALL_COVERAGE_KEY;
String lineCoverageKey = CoreMetrics.NEW_OVERALL_LINE_COVERAGE_KEY;
String branchCoverageKey = CoreMetrics.NEW_OVERALL_BRANCH_COVERAGE_KEY;

verify_aggregates_variations(metricKeys, codeCoverageKey, lineCoverageKey, branchCoverageKey);
}

private void verify_aggregates_variations(LinesAndConditionsWithUncoveredMetricKeys metricKeys, String codeCoverageKey, String lineCoverageKey, String branchCoverageKey) {
treeRootHolder.setRoot(MULTIPLE_FILES_TREE);
measureRepository
@@ -471,17 +366,7 @@ public class ReportNewCoverageMeasuresStepTest {
entryOf(NEW_LINES_TO_COVER_KEY, createMeasure(0d, 0d)),
entryOf(NEW_UNCOVERED_LINES_KEY, createMeasure(0d, 0d)),
entryOf(NEW_CONDITIONS_TO_COVER_KEY, createMeasure(0d, 0d)),
entryOf(NEW_UNCOVERED_CONDITIONS_KEY, createMeasure(0d, 0d)),

entryOf(NEW_IT_LINES_TO_COVER_KEY, createMeasure(0d, 0d)),
entryOf(NEW_IT_UNCOVERED_LINES_KEY, createMeasure(0d, 0d)),
entryOf(NEW_IT_CONDITIONS_TO_COVER_KEY, createMeasure(0d, 0d)),
entryOf(NEW_IT_UNCOVERED_CONDITIONS_KEY, createMeasure(0d, 0d)),

entryOf(NEW_OVERALL_LINES_TO_COVER_KEY, createMeasure(0d, 0d)),
entryOf(NEW_OVERALL_UNCOVERED_LINES_KEY, createMeasure(0d, 0d)),
entryOf(NEW_OVERALL_CONDITIONS_TO_COVER_KEY, createMeasure(0d, 0d)),
entryOf(NEW_OVERALL_UNCOVERED_CONDITIONS_KEY, createMeasure(0d, 0d)));
entryOf(NEW_UNCOVERED_CONDITIONS_KEY, createMeasure(0d, 0d)));
}

private void defineChangeSetsAndMeasures(int componentRef, MetricKeys metricKeys, MeasureValues line4, MeasureValues line6) {

+ 5
- 61
server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/step/ViewsCoverageMeasuresStepTest.java View File

@@ -57,23 +57,7 @@ public class ViewsCoverageMeasuresStepTest {
.add(CoreMetrics.UNCOVERED_CONDITIONS)
.add(CoreMetrics.COVERAGE)
.add(CoreMetrics.BRANCH_COVERAGE)
.add(CoreMetrics.LINE_COVERAGE)

.add(CoreMetrics.IT_LINES_TO_COVER)
.add(CoreMetrics.IT_CONDITIONS_TO_COVER)
.add(CoreMetrics.IT_UNCOVERED_LINES)
.add(CoreMetrics.IT_UNCOVERED_CONDITIONS)
.add(CoreMetrics.IT_COVERAGE)
.add(CoreMetrics.IT_BRANCH_COVERAGE)
.add(CoreMetrics.IT_LINE_COVERAGE)

.add(CoreMetrics.OVERALL_LINES_TO_COVER)
.add(CoreMetrics.OVERALL_CONDITIONS_TO_COVER)
.add(CoreMetrics.OVERALL_UNCOVERED_LINES)
.add(CoreMetrics.OVERALL_UNCOVERED_CONDITIONS)
.add(CoreMetrics.OVERALL_COVERAGE)
.add(CoreMetrics.OVERALL_BRANCH_COVERAGE)
.add(CoreMetrics.OVERALL_LINE_COVERAGE);
.add(CoreMetrics.LINE_COVERAGE);
@Rule
public MeasureRepositoryRule measureRepository = MeasureRepositoryRule.create(treeRootHolder, metricRepository);

@@ -104,22 +88,6 @@ public class ViewsCoverageMeasuresStepTest {
verify_lines_and_conditions_aggregates_values(metricKeys);
}

@Test
public void verify_aggregates_values_for_it_lines_and_conditions() {
LinesAndConditionsWithUncoveredMetricKeys metricKeys = new LinesAndConditionsWithUncoveredMetricKeys(
CoreMetrics.IT_LINES_TO_COVER_KEY, CoreMetrics.IT_CONDITIONS_TO_COVER_KEY,
CoreMetrics.IT_UNCOVERED_LINES_KEY, CoreMetrics.IT_UNCOVERED_CONDITIONS_KEY);
verify_lines_and_conditions_aggregates_values(metricKeys);
}

@Test
public void verify_aggregates_values_for_overall_lines_and_conditions() {
LinesAndConditionsWithUncoveredMetricKeys metricKeys = new LinesAndConditionsWithUncoveredMetricKeys(
CoreMetrics.OVERALL_LINES_TO_COVER_KEY, CoreMetrics.OVERALL_CONDITIONS_TO_COVER_KEY,
CoreMetrics.OVERALL_UNCOVERED_LINES_KEY, CoreMetrics.OVERALL_UNCOVERED_CONDITIONS_KEY);
verify_lines_and_conditions_aggregates_values(metricKeys);
}

private void verify_lines_and_conditions_aggregates_values(LinesAndConditionsWithUncoveredMetricKeys metricKeys) {
measureRepository
.addRawMeasure(PROJECTVIEW_1_REF, metricKeys.getLines(), newMeasureBuilder().create(3000))
@@ -127,12 +95,12 @@ public class ViewsCoverageMeasuresStepTest {
.addRawMeasure(PROJECTVIEW_1_REF, metricKeys.getUncoveredLines(), newMeasureBuilder().create(30))
.addRawMeasure(PROJECTVIEW_1_REF, metricKeys.getUncoveredConditions(), newMeasureBuilder().create(9))

.addRawMeasure(PROJECTVIEW_2_REF, metricKeys.getLines(), newMeasureBuilder().create(2000))
.addRawMeasure(PROJECTVIEW_2_REF, metricKeys.getLines(), newMeasureBuilder().create(2000))
.addRawMeasure(PROJECTVIEW_2_REF, metricKeys.getConditions(), newMeasureBuilder().create(400))
.addRawMeasure(PROJECTVIEW_2_REF, metricKeys.getUncoveredLines(), newMeasureBuilder().create(200))
.addRawMeasure(PROJECTVIEW_2_REF, metricKeys.getUncoveredConditions(), newMeasureBuilder().create(16))

.addRawMeasure(PROJECTVIEW_3_REF, metricKeys.getLines(), newMeasureBuilder().create(1000))
.addRawMeasure(PROJECTVIEW_3_REF, metricKeys.getLines(), newMeasureBuilder().create(1000))
.addRawMeasure(PROJECTVIEW_3_REF, metricKeys.getConditions(), newMeasureBuilder().create(500))
.addRawMeasure(PROJECTVIEW_3_REF, metricKeys.getUncoveredLines(), newMeasureBuilder().create(300))
.addRawMeasure(PROJECTVIEW_3_REF, metricKeys.getUncoveredConditions(), newMeasureBuilder().create(19));
@@ -167,30 +135,6 @@ public class ViewsCoverageMeasuresStepTest {
verify_coverage_aggregates_values(metricKeys, codeCoverageKey, lineCoverageKey, branchCoverageKey);
}

@Test
public void verify_aggregates_values_for_IT_code_line_and_branch_coverage() {
LinesAndConditionsWithUncoveredMetricKeys metricKeys = new LinesAndConditionsWithUncoveredMetricKeys(
CoreMetrics.IT_LINES_TO_COVER_KEY, CoreMetrics.IT_CONDITIONS_TO_COVER_KEY,
CoreMetrics.IT_UNCOVERED_LINES_KEY, CoreMetrics.IT_UNCOVERED_CONDITIONS_KEY);
String codeCoverageKey = CoreMetrics.IT_COVERAGE_KEY;
String lineCoverageKey = CoreMetrics.IT_LINE_COVERAGE_KEY;
String branchCoverageKey = CoreMetrics.IT_BRANCH_COVERAGE_KEY;

verify_coverage_aggregates_values(metricKeys, codeCoverageKey, lineCoverageKey, branchCoverageKey);
}

@Test
public void verify_aggregates_values_for_Overall_code_line_and_branch_coverage() {
LinesAndConditionsWithUncoveredMetricKeys metricKeys = new LinesAndConditionsWithUncoveredMetricKeys(
CoreMetrics.OVERALL_LINES_TO_COVER_KEY, CoreMetrics.OVERALL_CONDITIONS_TO_COVER_KEY,
CoreMetrics.OVERALL_UNCOVERED_LINES_KEY, CoreMetrics.OVERALL_UNCOVERED_CONDITIONS_KEY);
String codeCoverageKey = CoreMetrics.OVERALL_COVERAGE_KEY;
String lineCoverageKey = CoreMetrics.OVERALL_LINE_COVERAGE_KEY;
String branchCoverageKey = CoreMetrics.OVERALL_BRANCH_COVERAGE_KEY;

verify_coverage_aggregates_values(metricKeys, codeCoverageKey, lineCoverageKey, branchCoverageKey);
}

private void verify_coverage_aggregates_values(LinesAndConditionsWithUncoveredMetricKeys metricKeys, String codeCoverageKey, String lineCoverageKey, String branchCoverageKey) {
measureRepository
.addRawMeasure(PROJECTVIEW_1_REF, metricKeys.getLines(), newMeasureBuilder().create(3000))
@@ -198,12 +142,12 @@ public class ViewsCoverageMeasuresStepTest {
.addRawMeasure(PROJECTVIEW_1_REF, metricKeys.getUncoveredLines(), newMeasureBuilder().create(30))
.addRawMeasure(PROJECTVIEW_1_REF, metricKeys.getUncoveredConditions(), newMeasureBuilder().create(9))

.addRawMeasure(PROJECTVIEW_2_REF, metricKeys.getLines(), newMeasureBuilder().create(2000))
.addRawMeasure(PROJECTVIEW_2_REF, metricKeys.getLines(), newMeasureBuilder().create(2000))
.addRawMeasure(PROJECTVIEW_2_REF, metricKeys.getConditions(), newMeasureBuilder().create(400))
.addRawMeasure(PROJECTVIEW_2_REF, metricKeys.getUncoveredLines(), newMeasureBuilder().create(200))
.addRawMeasure(PROJECTVIEW_2_REF, metricKeys.getUncoveredConditions(), newMeasureBuilder().create(16))

.addRawMeasure(PROJECTVIEW_3_REF, metricKeys.getLines(), newMeasureBuilder().create(1000))
.addRawMeasure(PROJECTVIEW_3_REF, metricKeys.getLines(), newMeasureBuilder().create(1000))
.addRawMeasure(PROJECTVIEW_3_REF, metricKeys.getConditions(), newMeasureBuilder().create(500))
.addRawMeasure(PROJECTVIEW_3_REF, metricKeys.getUncoveredLines(), newMeasureBuilder().create(300))
.addRawMeasure(PROJECTVIEW_3_REF, metricKeys.getUncoveredConditions(), newMeasureBuilder().create(19));

+ 11
- 57
server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/step/ViewsNewCoverageMeasuresStepTest.java View File

@@ -90,29 +90,7 @@ public class ViewsNewCoverageMeasuresStepTest {
.add(CoreMetrics.NEW_UNCOVERED_CONDITIONS)
.add(CoreMetrics.NEW_COVERAGE)
.add(CoreMetrics.NEW_BRANCH_COVERAGE)
.add(CoreMetrics.NEW_LINE_COVERAGE)

.add(CoreMetrics.IT_COVERAGE_LINE_HITS_DATA)
.add(CoreMetrics.IT_CONDITIONS_BY_LINE)
.add(CoreMetrics.IT_COVERED_CONDITIONS_BY_LINE)
.add(CoreMetrics.NEW_IT_LINES_TO_COVER)
.add(CoreMetrics.NEW_IT_UNCOVERED_LINES)
.add(CoreMetrics.NEW_IT_CONDITIONS_TO_COVER)
.add(CoreMetrics.NEW_IT_UNCOVERED_CONDITIONS)
.add(CoreMetrics.NEW_IT_COVERAGE)
.add(CoreMetrics.NEW_IT_BRANCH_COVERAGE)
.add(CoreMetrics.NEW_IT_LINE_COVERAGE)

.add(CoreMetrics.OVERALL_COVERAGE_LINE_HITS_DATA)
.add(CoreMetrics.OVERALL_CONDITIONS_BY_LINE)
.add(CoreMetrics.OVERALL_COVERED_CONDITIONS_BY_LINE)
.add(CoreMetrics.NEW_OVERALL_LINES_TO_COVER)
.add(CoreMetrics.NEW_OVERALL_UNCOVERED_LINES)
.add(CoreMetrics.NEW_OVERALL_CONDITIONS_TO_COVER)
.add(CoreMetrics.NEW_OVERALL_UNCOVERED_CONDITIONS)
.add(CoreMetrics.NEW_OVERALL_COVERAGE)
.add(CoreMetrics.NEW_OVERALL_BRANCH_COVERAGE)
.add(CoreMetrics.NEW_OVERALL_LINE_COVERAGE);
.add(CoreMetrics.NEW_LINE_COVERAGE);
@Rule
public MeasureRepositoryRule measureRepository = MeasureRepositoryRule.create(treeRootHolder, metricRepository);

@@ -128,10 +106,10 @@ public class ViewsNewCoverageMeasuresStepTest {

@Test
public void verify_aggregation_of_measures_for_new_conditions() {
String newLinesToCover = CoreMetrics.NEW_IT_LINES_TO_COVER_KEY;
String newUncoveredLines = CoreMetrics.NEW_IT_UNCOVERED_LINES_KEY;
String newConditionsToCover = CoreMetrics.NEW_IT_CONDITIONS_TO_COVER_KEY;
String newUncoveredConditions = CoreMetrics.NEW_IT_UNCOVERED_CONDITIONS_KEY;
String newLinesToCover = CoreMetrics.NEW_LINES_TO_COVER_KEY;
String newUncoveredLines = CoreMetrics.NEW_UNCOVERED_LINES_KEY;
String newConditionsToCover = CoreMetrics.NEW_CONDITIONS_TO_COVER_KEY;
String newUncoveredConditions = CoreMetrics.NEW_UNCOVERED_CONDITIONS_KEY;

MetricKeys metricKeys = new MetricKeys(newLinesToCover, newUncoveredLines, newConditionsToCover, newUncoveredConditions);

@@ -178,30 +156,6 @@ public class ViewsNewCoverageMeasuresStepTest {
verify_aggregates_variations(metricKeys, codeCoverageKey, lineCoverageKey, branchCoverageKey);
}

@Test
public void verify_aggregates_variations_for_new_IT_code_line_and_branch_Coverage() {
LinesAndConditionsWithUncoveredMetricKeys metricKeys = new LinesAndConditionsWithUncoveredMetricKeys(
CoreMetrics.NEW_IT_LINES_TO_COVER_KEY, CoreMetrics.NEW_IT_CONDITIONS_TO_COVER_KEY,
CoreMetrics.NEW_IT_UNCOVERED_LINES_KEY, CoreMetrics.NEW_IT_UNCOVERED_CONDITIONS_KEY);
String codeCoverageKey = CoreMetrics.NEW_IT_COVERAGE_KEY;
String lineCoverageKey = CoreMetrics.NEW_IT_LINE_COVERAGE_KEY;
String branchCoverageKey = CoreMetrics.NEW_IT_BRANCH_COVERAGE_KEY;

verify_aggregates_variations(metricKeys, codeCoverageKey, lineCoverageKey, branchCoverageKey);
}

@Test
public void verify_aggregates_variations_for_new_Overall_code_line_and_branch_Coverage() {
LinesAndConditionsWithUncoveredMetricKeys metricKeys = new LinesAndConditionsWithUncoveredMetricKeys(
CoreMetrics.NEW_OVERALL_LINES_TO_COVER_KEY, CoreMetrics.NEW_OVERALL_CONDITIONS_TO_COVER_KEY,
CoreMetrics.NEW_OVERALL_UNCOVERED_LINES_KEY, CoreMetrics.NEW_OVERALL_UNCOVERED_CONDITIONS_KEY);
String codeCoverageKey = CoreMetrics.NEW_OVERALL_COVERAGE_KEY;
String lineCoverageKey = CoreMetrics.NEW_OVERALL_LINE_COVERAGE_KEY;
String branchCoverageKey = CoreMetrics.NEW_OVERALL_BRANCH_COVERAGE_KEY;

verify_aggregates_variations(metricKeys, codeCoverageKey, lineCoverageKey, branchCoverageKey);
}

private void verify_aggregates_variations(LinesAndConditionsWithUncoveredMetricKeys metricKeys, String codeCoverageKey, String lineCoverageKey, String branchCoverageKey) {
treeRootHolder.setRoot(VIEWS_TREE);
measureRepository
@@ -234,13 +188,13 @@ public class ViewsNewCoverageMeasuresStepTest {
entryOf(lineCoverageKey, createMeasure(90d, NO_PERIOD_4_OR_5_IN_VIEWS)),
entryOf(branchCoverageKey, createMeasure(96d, NO_PERIOD_4_OR_5_IN_VIEWS)));
assertThat(toEntries(measureRepository.getAddedRawMeasures(SUBVIEW_REF))).contains(
entryOf(codeCoverageKey, createMeasure(94.8d, NO_PERIOD_4_OR_5_IN_VIEWS)),
entryOf(lineCoverageKey, createMeasure(94.5d, NO_PERIOD_4_OR_5_IN_VIEWS)),
entryOf(branchCoverageKey, createMeasure(96.9d, NO_PERIOD_4_OR_5_IN_VIEWS)));
entryOf(codeCoverageKey, createMeasure(94.8d, NO_PERIOD_4_OR_5_IN_VIEWS)),
entryOf(lineCoverageKey, createMeasure(94.5d, NO_PERIOD_4_OR_5_IN_VIEWS)),
entryOf(branchCoverageKey, createMeasure(96.9d, NO_PERIOD_4_OR_5_IN_VIEWS)));
assertThat(toEntries(measureRepository.getAddedRawMeasures(ROOT_REF))).contains(
entryOf(codeCoverageKey, createMeasure(94.8d, NO_PERIOD_4_OR_5_IN_VIEWS)),
entryOf(lineCoverageKey, createMeasure(94.5d, NO_PERIOD_4_OR_5_IN_VIEWS)),
entryOf(branchCoverageKey, createMeasure(96.9d, NO_PERIOD_4_OR_5_IN_VIEWS)));
entryOf(codeCoverageKey, createMeasure(94.8d, NO_PERIOD_4_OR_5_IN_VIEWS)),
entryOf(lineCoverageKey, createMeasure(94.5d, NO_PERIOD_4_OR_5_IN_VIEWS)),
entryOf(branchCoverageKey, createMeasure(96.9d, NO_PERIOD_4_OR_5_IN_VIEWS)));
}

private static final class MetricKeys {

Loading…
Cancel
Save