diff options
author | Duarte Meneses <duarte.meneses@sonarsource.com> | 2018-04-19 17:28:53 +0200 |
---|---|---|
committer | SonarTech <sonartech@sonarsource.com> | 2018-04-26 20:20:52 +0200 |
commit | cd092a41d1eb70bf487a6345ae450d3e1cc6fa57 (patch) | |
tree | 24594e22ba4c311af2f5e72a55dd76f805db1f77 /sonar-plugin-api | |
parent | 2552e0dcff500d999401cce943a87dcc766eb623 (diff) | |
download | sonarqube-cd092a41d1eb70bf487a6345ae450d3e1cc6fa57.tar.gz sonarqube-cd092a41d1eb70bf487a6345ae450d3e1cc6fa57.zip |
Fix quality issues
Diffstat (limited to 'sonar-plugin-api')
2 files changed, 18 insertions, 0 deletions
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/internal/DefaultExternalIssue.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/internal/DefaultExternalIssue.java index ee68be1d242..9118a4a373c 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/internal/DefaultExternalIssue.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/internal/DefaultExternalIssue.java @@ -72,6 +72,7 @@ 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(primaryLocation.message() != null, "External issues must have a message"); checkState(severity != null, "Severity is mandatory on every external issue"); checkState(type != null, "Type is mandatory on every external issue"); storage.store(this); diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/batch/sensor/issue/internal/DefaultExternalIssueTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/batch/sensor/issue/internal/DefaultExternalIssueTest.java index 079d4995f2b..dc77fbc63fb 100644 --- a/sonar-plugin-api/src/test/java/org/sonar/api/batch/sensor/issue/internal/DefaultExternalIssueTest.java +++ b/sonar-plugin-api/src/test/java/org/sonar/api/batch/sensor/issue/internal/DefaultExternalIssueTest.java @@ -100,6 +100,23 @@ public class DefaultExternalIssueTest { exception.expectMessage("External issues must be located in files"); issue.save(); } + + @Test + public void fail_to_store_if_primary_location_has_no_message() { + SensorStorage storage = mock(SensorStorage.class); + DefaultExternalIssue issue = new DefaultExternalIssue(storage) + .at(new DefaultIssueLocation() + .on(inputFile) + .at(inputFile.selectLine(1))) + .forRule(RuleKey.of("repo", "rule")) + .remediationEffortMinutes(10l) + .type(RuleType.BUG) + .severity(Severity.BLOCKER); + + exception.expect(IllegalStateException.class); + exception.expectMessage("External issues must have a message"); + issue.save(); + } @Test public void fail_to_store_if_no_severity() { |