aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-core
diff options
context:
space:
mode:
authorStephane Gamard <stephane.gamard@searchbox.com>2014-06-06 15:42:11 +0200
committerStephane Gamard <stephane.gamard@searchbox.com>2014-06-06 16:16:06 +0200
commitf8572d0f76f97b9557b70b95843f324c9e09070f (patch)
treeb86100ad8106d669dd7a376f5323629981b47ce8 /sonar-core
parent704fd9dfbe8233d7453ab87361f520fd3fe35050 (diff)
downloadsonarqube-f8572d0f76f97b9557b70b95843f324c9e09070f.tar.gz
sonarqube-f8572d0f76f97b9557b70b95843f324c9e09070f.zip
SONAR-5082 - Added Index to active_rules table to H2 and DaoTested
Diffstat (limited to 'sonar-core')
-rw-r--r--sonar-core/src/main/resources/org/sonar/core/persistence/schema-h2.ddl2
-rw-r--r--sonar-core/src/test/java/org/sonar/core/qualityprofile/db/ActiveRuleDaoTest.java28
2 files changed, 30 insertions, 0 deletions
diff --git a/sonar-core/src/main/resources/org/sonar/core/persistence/schema-h2.ddl b/sonar-core/src/main/resources/org/sonar/core/persistence/schema-h2.ddl
index bf7ced267bd..af79526c029 100644
--- a/sonar-core/src/main/resources/org/sonar/core/persistence/schema-h2.ddl
+++ b/sonar-core/src/main/resources/org/sonar/core/persistence/schema-h2.ddl
@@ -695,3 +695,5 @@ CREATE UNIQUE INDEX "RULES_PLUGIN_KEY_AND_NAME" ON "RULES" ("PLUGIN_RULE_KEY", "
CREATE INDEX "CHARACTERISTICS_ENABLED" ON "CHARACTERISTICS" ("ENABLED");
CREATE UNIQUE INDEX "QUALITY_GATES_UNIQUE" ON "QUALITY_GATES" ("NAME");
+
+CREATE UNIQUE INDEX "ACTIVE_RULES_UNIQUE" ON "ACTIVE_RULES" ("PROFILE_ID","RULE_ID");
diff --git a/sonar-core/src/test/java/org/sonar/core/qualityprofile/db/ActiveRuleDaoTest.java b/sonar-core/src/test/java/org/sonar/core/qualityprofile/db/ActiveRuleDaoTest.java
index b95d00bf9da..108525d1b8b 100644
--- a/sonar-core/src/test/java/org/sonar/core/qualityprofile/db/ActiveRuleDaoTest.java
+++ b/sonar-core/src/test/java/org/sonar/core/qualityprofile/db/ActiveRuleDaoTest.java
@@ -27,6 +27,7 @@ import org.sonar.core.persistence.AbstractDaoTestCase;
import java.util.List;
+import static junit.framework.Assert.fail;
import static org.fest.assertions.Assertions.assertThat;
public class ActiveRuleDaoTest extends AbstractDaoTestCase {
@@ -82,4 +83,31 @@ public class ActiveRuleDaoTest extends AbstractDaoTestCase {
assertThat(dao.selectParamsByProfileId(1)).hasSize(2);
}
+
+ @Test
+ public void fail_unique_rule_index() {
+ setupData("empty");
+
+ ActiveRuleDto dto = new ActiveRuleDto()
+ .setProfileId(1)
+ .setRuleId(10)
+ .setSeverity(Severity.MAJOR)
+ .setInheritance("INHERITED");
+
+ dao.insert(dto);
+
+ try {
+ ActiveRuleDto dto2 = new ActiveRuleDto()
+ .setProfileId(1)
+ .setRuleId(10)
+ .setSeverity(Severity.MAJOR)
+ .setInheritance("INHERITED");
+
+ dao.insert(dto2);
+ fail();
+ } catch (Exception e) {
+
+ }
+
+ }
}