]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-16542 fixed an issue where rule repo key was not returned
authorLukasz Jarocki <lukasz.jarocki@sonarsource.com>
Tue, 21 Jun 2022 14:44:20 +0000 (16:44 +0200)
committersonartech <sonartech@sonarsource.com>
Wed, 22 Jun 2022 16:09:14 +0000 (16:09 +0000)
server/sonar-db-dao/src/testFixtures/java/org/sonar/db/issue/IssueDbTester.java
server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/pull/PullActionProtobufObjectGenerator.java
server/sonar-webserver-webapi/src/test/java/org/sonar/server/issue/ws/PullActionTest.java

index e57b916648999eff5284f080d30fbe5be3a55247..fca2debffd238018f6ac20618cd39348727d2f89 100644 (file)
@@ -126,9 +126,19 @@ public class IssueDbTester {
   @SafeVarargs
   public final IssueDto insertIssue(Consumer<IssueDto>... populators) {
     RuleDto rule = db.rules().insertIssueRule();
+    return insertIssue(rule, populators);
+  }
+
+  /**
+   * Inserts an issue.
+   *
+   * @throws AssertionError if rule is not Security Hotspot
+   */
+  @SafeVarargs
+  public final IssueDto insertIssue(RuleDto ruleDto, Consumer<IssueDto>... populators) {
     ComponentDto project = db.components().insertPrivateProject();
     ComponentDto file = db.components().insertComponent(newFileDto(project));
-    IssueDto issue = newIssue(rule, project, file)
+    IssueDto issue = newIssue(ruleDto, project, file)
       .setType(RULE_TYPES_EXCEPT_HOTSPOTS[new Random().nextInt(RULE_TYPES_EXCEPT_HOTSPOTS.length)]);
     stream(populators).forEach(p -> p.accept(issue));
     return insertIssue(issue);
index 6d3e6a85ec7a538456f947c4b65f7e786712d609..d4f066c624984d6dd4e7b5b41db55df490eb60b8 100644 (file)
@@ -54,7 +54,7 @@ public class PullActionProtobufObjectGenerator {
     issueBuilder.setKey(issueDto.getKey());
     issueBuilder.setCreationDate(issueDto.getCreatedAt());
     issueBuilder.setResolved(issueDto.getStatus().equals(org.sonar.api.issue.Issue.STATUS_RESOLVED));
-    issueBuilder.setRuleKey(issueDto.getRuleKey().rule());
+    issueBuilder.setRuleKey(issueDto.getRuleKey().toString());
     if (issueDto.isManualSeverity() && issueDto.getSeverity() != null) {
       issueBuilder.setUserSeverity(issueDto.getSeverity());
     }
index 1e0d1cc2f0f52d97dfb12ef989159518146a3791..f9da48c1680a3eb36ba9ff84213b90b4697c6945 100644 (file)
@@ -141,7 +141,9 @@ public class PullActionTest {
       .setChecksum("hash")
       .setTextRange(textRange);
 
-    IssueDto issueDto = issueDbTester.insertIssue(p -> p.setSeverity("MINOR")
+
+    RuleDto rule = db.rules().insertIssueRule(r -> r.setRepositoryKey("java").setRuleKey("S1000"));
+    IssueDto issueDto = issueDbTester.insertIssue(rule, p -> p.setSeverity("MINOR")
       .setManualSeverity(true)
       .setMessage("message")
       .setCreatedAt(NOW)
@@ -164,7 +166,7 @@ public class PullActionTest {
     assertThat(issueLite.getUserSeverity()).isEqualTo("MINOR");
     assertThat(issueLite.getCreationDate()).isEqualTo(NOW);
     assertThat(issueLite.getResolved()).isTrue();
-    assertThat(issueLite.getRuleKey()).isEqualTo(issueDto.getRuleKey().rule());
+    assertThat(issueLite.getRuleKey()).isEqualTo("java:S1000");
     assertThat(issueLite.getType()).isEqualTo(Common.RuleType.forNumber(issueDto.getType()).name());
 
     Issues.Location location = issueLite.getMainLocation();