aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--it/it-tests/src/test/java/it/debt/SqaleRatingMeasureTest.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/it/it-tests/src/test/java/it/debt/SqaleRatingMeasureTest.java b/it/it-tests/src/test/java/it/debt/SqaleRatingMeasureTest.java
index 1e36e4ca9b0..db88173d763 100644
--- a/it/it-tests/src/test/java/it/debt/SqaleRatingMeasureTest.java
+++ b/it/it-tests/src/test/java/it/debt/SqaleRatingMeasureTest.java
@@ -160,6 +160,31 @@ public class SqaleRatingMeasureTest {
assertThat(rating.getData()).isEqualTo("E");
}
+ @Test
+ public void effort_to_reach_maintainability_rating_a() {
+ orchestrator.getServer().restoreProfile(FileLocation.ofClasspath("/debt/with-many-rules.xml"));
+ orchestrator.getServer().provisionProject(PROJECT, PROJECT);
+ orchestrator.getServer().associateProjectToQualityProfile(PROJECT, "xoo", "with-many-rules");
+
+ orchestrator.executeBuild(SonarRunner.create(projectDir("shared/xoo-multi-modules-sample")));
+
+ assertThat(getMeasure(PROJECT, "sqale_rating").getData()).isEqualTo("C");
+ assertThat(getMeasure(PROJECT, "effort_to_reach_maintainability_rating_a").getIntValue()).isEqualTo(292);
+
+ assertThat(getMeasure(MODULE, "sqale_rating").getData()).isEqualTo("C");
+ assertThat(getMeasure(MODULE, "effort_to_reach_maintainability_rating_a").getIntValue()).isEqualTo(150);
+
+ assertThat(getMeasure(SUB_MODULE, "sqale_rating").getData()).isEqualTo("C");
+ assertThat(getMeasure(SUB_MODULE, "effort_to_reach_maintainability_rating_a").getIntValue()).isEqualTo(77);
+
+ assertThat(getMeasure(DIRECTORY, "sqale_rating").getData()).isEqualTo("A");
+ assertThat(getMeasure(DIRECTORY, "effort_to_reach_maintainability_rating_a").getIntValue()).isEqualTo(0);
+
+ assertThat(getMeasure(FILE, "sqale_rating").getData()).isEqualTo("A");
+ // Best value is 0 => no measure
+ assertThat(getMeasure(FILE, "effort_to_reach_maintainability_rating_a")).isNull();
+ }
+
private Measure getMeasure(String resource, String metricKey) {
Resource res = orchestrator.getServer().getWsClient().find(ResourceQuery.createForMetrics(resource, metricKey));
if (res == null) {