From 6723d2eacd59bc102b4133b9c8c76e82d9dad7a4 Mon Sep 17 00:00:00 2001 From: Fabrice Bellingard Date: Mon, 18 Feb 2013 10:27:16 +0100 Subject: SONAR-3583 Do not save violation if rule does not exist in DB (= no ID) --- .../java/org/sonar/batch/index/DefaultIndexTest.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'sonar-batch/src/test/java/org/sonar') diff --git a/sonar-batch/src/test/java/org/sonar/batch/index/DefaultIndexTest.java b/sonar-batch/src/test/java/org/sonar/batch/index/DefaultIndexTest.java index 87cb9361e11..8ea5f04e9c1 100644 --- a/sonar-batch/src/test/java/org/sonar/batch/index/DefaultIndexTest.java +++ b/sonar-batch/src/test/java/org/sonar/batch/index/DefaultIndexTest.java @@ -77,8 +77,9 @@ public class DefaultIndexTest { }; RulesProfile rulesProfile = RulesProfile.create(); rule = Rule.create("repoKey", "ruleKey", "Rule"); + rule.setId(1); rulesProfile.activateRule(rule, null); - index.setCurrentProject(project, new ResourceFilters(new ResourceFilter[] { filter }), new ViolationFilters(), rulesProfile); + index.setCurrentProject(project, new ResourceFilters(new ResourceFilter[] {filter}), new ViolationFilters(), rulesProfile); index.doStart(project); } @@ -202,6 +203,20 @@ public class DefaultIndexTest { assertThat(index.getViolations(file).size(), is(0)); } + /** + * See https://jira.codehaus.org/browse/SONAR-3583 + */ + @Test + public void shouldNotFailWhenSavingViolationOnRuleThatDoesNotExistInDB() { + Rule ruleWithoutID = Rule.create("repoKey", "ruleKey", "Rule"); + + File file = new File("org/foo/Bar.java"); + Violation violation = Violation.create(ruleWithoutID, file); + index.addViolation(violation); + + assertThat(index.getViolations(file).size(), is(0)); + } + @Test public void testGetViolations() { File file = new File("org/foo/Bar.java"); -- cgit v1.2.3