@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);
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());
}
.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)
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();