]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-10543 Update test to v7.2 and remove descriptionUrl and ruleTitle from scanner
authorDuarte Meneses <duarte.meneses@sonarsource.com>
Fri, 13 Apr 2018 13:59:23 +0000 (15:59 +0200)
committerSonarTech <sonartech@sonarsource.com>
Thu, 26 Apr 2018 18:20:51 +0000 (20:20 +0200)
plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/XooPlugin.java
plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/rule/OneExternalIssuePerLineSensor.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/ExternalIssue.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/NewExternalIssue.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/internal/DefaultExternalIssue.java
sonar-plugin-api/src/test/java/org/sonar/api/batch/sensor/internal/SensorContextTesterTest.java
sonar-plugin-api/src/test/java/org/sonar/api/batch/sensor/issue/internal/DefaultExternalIssueTest.java
sonar-scanner-engine/src/main/java/org/sonar/scanner/issue/ModuleIssues.java
sonar-scanner-engine/src/main/java/org/sonar/scanner/sensor/noop/NoOpNewExternalIssue.java
sonar-scanner-engine/src/test/java/org/sonar/scanner/issue/ModuleIssuesTest.java
sonar-scanner-protocol/src/main/protobuf/scanner_report.proto

index 3c036b1d566bd6ea39fe3d16967ee650d35fbe06..47a8c3be3515766f9b7befdcb083b67d5801353c 100644 (file)
@@ -168,8 +168,7 @@ public class XooPlugin implements Plugin {
     if (context.getSonarQubeVersion().isGreaterThanOrEqual(Version.create(6, 6))) {
       context.addExtension(XooBuiltInQualityProfilesDefinition.class);
     }
-    // TODO change to v7.2 once version of SQ was updated
-    if (context.getSonarQubeVersion().isGreaterThanOrEqual(Version.create(7, 1))) {
+    if (context.getSonarQubeVersion().isGreaterThanOrEqual(Version.create(7, 2))) {
       context.addExtension(OneExternalIssuePerLineSensor.class);
     }
   }
index e47ddd4ef609d59afaa38744cb78d17a7c0cc64d..7b872e26ee80d86b39e66a03efe1561949b2f710 100644 (file)
@@ -74,8 +74,6 @@ public class OneExternalIssuePerLineSensor implements Sensor {
           .on(file)
           .at(file.selectLine(line))
           .message("This issue is generated on each line"))
-        .ruleTitle(NAME)
-        .descriptionUrl("http://oneexternalissueperline.xoo.net")
         .severity(Severity.valueOf(SEVERITY))
         .remediationEffort(EFFORT)
         .type(type)
index ec72c49de1a78b9701458f85ebe57596f3adf76f..b151a6582aa9c5340a74ac9a2fad2935dfa7f5f6 100644 (file)
@@ -32,12 +32,6 @@ public interface ExternalIssue extends IIssue {
 
   Severity severity();
 
-  /**
-   * Link to a page describing more details about the rule that triggered this issue.
-   */
-  @CheckForNull
-  String descriptionUrl();
-
   /**
    * Effort to fix the issue, in minutes.
    */
@@ -48,9 +42,5 @@ public interface ExternalIssue extends IIssue {
    * Type of the issue.
    */
   RuleType type();
-  
-  /**
-   * Short description of the rule. Should not depend on the issue being raised.
-   */
-  String ruleTitle();
+
 }
index 8049c44e1dc17cf37844c49ed50cb5e124231fc9..d2e55a999eeb421356f5bb90c5a16628f075d1da 100644 (file)
@@ -62,11 +62,6 @@ public interface NewExternalIssue {
    */
   NewExternalIssue addLocation(NewIssueLocation secondaryLocation);
 
-  /**
-   * Add a URL pointing to more information about the rule triggering this issue. 
-   */
-  NewExternalIssue descriptionUrl(String url);
-
   /**
    * Register a flow for this issue. A flow is an ordered list of issue locations that help to understand the issue.
    * It should be a <b>path that backtracks the issue from its primary location to the start of the flow</b>. 
@@ -79,11 +74,6 @@ public interface NewExternalIssue {
    */
   NewIssueLocation newLocation();
 
-  /**
-   * Add the description of the rule. Should not depend on the issue being raised.
-   */
-  NewExternalIssue ruleTitle(String title);
-  
   /**
    * Save the issue. If rule key is unknown or rule not enabled in the current quality profile then a warning is logged but no exception
    * is thrown.
index 6ffcb5055e8ca6ad48e88320aeda36a2c574e946..a0bd77b53c72a6590d8c0ab4d03bd67e7cf07e5c 100644 (file)
@@ -34,9 +34,7 @@ import static java.util.Objects.requireNonNull;
 public class DefaultExternalIssue extends AbstractDefaultIssue<DefaultExternalIssue> implements ExternalIssue, NewExternalIssue {
   private Long effort;
   private Severity severity;
-  private String url;
   private RuleType type;
-  private String ruleTitle;
 
   public DefaultExternalIssue() {
     super(null);
@@ -74,23 +72,11 @@ public class DefaultExternalIssue extends AbstractDefaultIssue<DefaultExternalIs
     requireNonNull(this.ruleKey, "Rule key is mandatory on external issue");
     checkState(primaryLocation != null, "Primary location is mandatory on every external issue");
     checkState(primaryLocation.inputComponent().isFile(), "External issues must be located in files");
-    checkState(ruleTitle != null, "Rule title is mandatory on every external issue");
     checkState(severity != null, "Severity is mandatory on every external issue");
     checkState(type != null, "Type is mandatory on every external issue");
     storage.store(this);
   }
 
-  @Override
-  public DefaultExternalIssue descriptionUrl(String url) {
-    this.url = url;
-    return this;
-  }
-
-  @Override
-  public String descriptionUrl() {
-    return url;
-  }
-
   @Override
   public RuleType type() {
     return type;
@@ -102,14 +88,4 @@ public class DefaultExternalIssue extends AbstractDefaultIssue<DefaultExternalIs
     return this;
   }
 
-  @Override
-  public String ruleTitle() {
-    return ruleTitle;
-  }
-
-  @Override
-  public DefaultExternalIssue ruleTitle(String ruleTitle) {
-    this.ruleTitle = ruleTitle;
-    return this;
-  }
 }
index b47ef208fedb1a882d0feabbe2a76d5a03b5646b..0cee9bc2a96fe806ac03f2ac78e160107e16c73e 100644 (file)
@@ -117,7 +117,6 @@ public class SensorContextTesterTest {
       .forRule(RuleKey.of("repo", "rule"))
       .type(RuleType.BUG)
       .severity(Severity.BLOCKER)
-      .ruleTitle("title")
       .save();
     newExternalIssue = tester.newExternalIssue();
     newExternalIssue
@@ -125,7 +124,6 @@ public class SensorContextTesterTest {
       .type(RuleType.BUG)
       .severity(Severity.BLOCKER)
       .forRule(RuleKey.of("repo", "rule"))
-      .ruleTitle("title")
       .save();
     assertThat(tester.allExternalIssues()).hasSize(2);
   }
index 57998dc4ba8e90d24f91f67416c44b474209d641..1176527f04ccb3123ebb3843fa0a533111a89453 100644 (file)
@@ -52,19 +52,15 @@ public class DefaultExternalIssueTest {
         .message("Wrong way!"))
       .forRule(RuleKey.of("repo", "rule"))
       .remediationEffort(10l)
-      .descriptionUrl("url")
       .type(RuleType.BUG)
-      .ruleTitle("rule")
       .severity(Severity.BLOCKER);
 
     assertThat(issue.primaryLocation().inputComponent()).isEqualTo(inputFile);
     assertThat(issue.ruleKey()).isEqualTo(RuleKey.of("repo", "rule"));
     assertThat(issue.primaryLocation().textRange().start().line()).isEqualTo(1);
     assertThat(issue.remediationEffort()).isEqualTo(10l);
-    assertThat(issue.descriptionUrl()).isEqualTo("url");
     assertThat(issue.type()).isEqualTo(RuleType.BUG);
     assertThat(issue.severity()).isEqualTo(Severity.BLOCKER);
-    assertThat(issue.ruleTitle()).isEqualTo("rule");
     assertThat(issue.primaryLocation().message()).isEqualTo("Wrong way!");
 
     issue.save();
@@ -82,8 +78,6 @@ public class DefaultExternalIssueTest {
         .message("Wrong way!"))
       .forRule(RuleKey.of("repo", "rule"))
       .remediationEffort(10l)
-      .descriptionUrl("url")
-      .ruleTitle("rule")
       .severity(Severity.BLOCKER);
 
     exception.expect(IllegalStateException.class);
@@ -100,8 +94,6 @@ public class DefaultExternalIssueTest {
         .message("Wrong way!"))
       .forRule(RuleKey.of("repo", "rule"))
       .remediationEffort(10l)
-      .descriptionUrl("url")
-      .ruleTitle("rule")
       .severity(Severity.BLOCKER);
 
     exception.expect(IllegalStateException.class);
@@ -119,8 +111,6 @@ public class DefaultExternalIssueTest {
         .message("Wrong way!"))
       .forRule(RuleKey.of("repo", "rule"))
       .remediationEffort(10l)
-      .descriptionUrl("url")
-      .ruleTitle("rule")
       .type(RuleType.BUG);
 
     exception.expect(IllegalStateException.class);
@@ -128,23 +118,4 @@ public class DefaultExternalIssueTest {
     issue.save();
   }
 
-  @Test
-  public void fail_to_store_if_no_rule_title() {
-    SensorStorage storage = mock(SensorStorage.class);
-    DefaultExternalIssue issue = new DefaultExternalIssue(storage)
-      .at(new DefaultIssueLocation()
-        .on(inputFile)
-        .at(inputFile.selectLine(1))
-        .message("Wrong way!"))
-      .forRule(RuleKey.of("repo", "rule"))
-      .remediationEffort(10l)
-      .descriptionUrl("url")
-      .severity(Severity.BLOCKER)
-      .type(RuleType.BUG);
-
-    exception.expect(IllegalStateException.class);
-    exception.expectMessage("Rule title is mandatory");
-    issue.save();
-  }
-
 }
index 1ff50f8e5b5156c76dd3897b22820a81c5eb57bf..f8d72f526e7fb72e3efc98a612978b8794314a54 100644 (file)
@@ -111,7 +111,7 @@ public class ModuleIssues {
   }
 
   private static ScannerReport.ExternalIssue createReportExternalIssue(ExternalIssue issue, int componentRef) {
-    String primaryMessage = Strings.isNullOrEmpty(issue.primaryLocation().message()) ? issue.ruleTitle() : issue.primaryLocation().message();
+    String primaryMessage = Strings.isNullOrEmpty(issue.primaryLocation().message()) ? issue.ruleKey().toString() : issue.primaryLocation().message();
     Severity severity = Severity.valueOf(issue.severity().name());
 
     ScannerReport.ExternalIssue.Builder builder = ScannerReport.ExternalIssue.newBuilder();
@@ -121,7 +121,6 @@ public class ModuleIssues {
     builder.setSeverity(severity);
     builder.setRuleRepository(issue.ruleKey().repository());
     builder.setRuleKey(issue.ruleKey().rule());
-    builder.setRuleTitle(issue.ruleTitle());
     builder.setMsg(primaryMessage);
     locationBuilder.setMsg(primaryMessage);
 
index 42d4a902a74a557cab6443247325b1ba351e8e3e..16066a4f617bdfc6041fec7ca15992b94fdf66c1 100644 (file)
@@ -64,12 +64,6 @@ public class NoOpNewExternalIssue implements NewExternalIssue {
     return this;
   }
 
-  @Override
-  public NewExternalIssue descriptionUrl(String url) {
-    // no op
-    return this;
-  }
-
   @Override
   public NewExternalIssue addFlow(Iterable<NewIssueLocation> flowLocations) {
     // no op
@@ -82,12 +76,6 @@ public class NoOpNewExternalIssue implements NewExternalIssue {
     return new DefaultIssueLocation();
   }
 
-  @Override
-  public NewExternalIssue ruleTitle(String title) {
-    // no op
-    return this;
-  }
-
   @Override
   public void save() {
     // no op
index 844f6edcfabb5632891d9fc4a73b17f5dab8af0a..6309720339dd19d71488b9bb9c448b8a2bb8d48d 100644 (file)
@@ -155,8 +155,7 @@ public class ModuleIssuesTest {
     DefaultExternalIssue issue = new DefaultExternalIssue()
       .at(new DefaultIssueLocation().on(file).at(file.selectLine(3)).message("Foo"))
       .forRule(SQUID_RULE_KEY)
-      .severity(org.sonar.api.batch.rule.Severity.CRITICAL)
-      .ruleTitle("title");
+      .severity(org.sonar.api.batch.rule.Severity.CRITICAL);
 
     moduleIssues.initAndAddExternalIssue(issue);
 
index 13cf6dd56cc3f2946e5f6ed6ca3ef9e0cde1c168..922adca6f5708e4b5dde037c82bb12eb0b32c320 100644 (file)
@@ -197,10 +197,7 @@ message ExternalIssue {
   // Will be identical to the first location of the first flow
   TextRange text_range = 6;
   repeated Flow flow = 7;
-  // Can be empty as the field is optional
-  string descriptionUrl = 8;
-  IssueType type = 9;
-  string rule_title = 10;
+  IssueType type = 8;
 }
 
 enum IssueType {