]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-7427 Add IT on new "effort to reach rating A" measure
authorJulien Lancelot <julien.lancelot@sonarsource.com>
Wed, 9 Mar 2016 13:00:52 +0000 (14:00 +0100)
committerJulien Lancelot <julien.lancelot@sonarsource.com>
Wed, 9 Mar 2016 13:00:52 +0000 (14:00 +0100)
it/it-tests/src/test/java/it/debt/SqaleRatingMeasureTest.java

index 1e36e4ca9b07f8d022b3f82569af3f88a768e991..db88173d763c5a7f9036f25904a54bde6829cc31 100644 (file)
@@ -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) {