aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-db/src/test
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@sonarsource.com>2016-02-29 11:11:47 +0100
committerJulien Lancelot <julien.lancelot@sonarsource.com>2016-02-29 13:26:54 +0100
commit28b3b2300ff8e68cda99f114c0011f7896dccfba (patch)
treeaf4d5627c17a073334f84972ff76b114ada1dea0 /sonar-db/src/test
parent5acbaf6b0c02a12525b91c87764a967b08bc9ed0 (diff)
downloadsonarqube-28b3b2300ff8e68cda99f114c0011f7896dccfba.tar.gz
sonarqube-28b3b2300ff8e68cda99f114c0011f7896dccfba.zip
SONAR-7330 Remove SqlActiveRuleKey
Diffstat (limited to 'sonar-db/src/test')
-rw-r--r--sonar-db/src/test/java/org/sonar/db/qualityprofile/ActiveRuleDaoTest.java62
1 files changed, 61 insertions, 1 deletions
diff --git a/sonar-db/src/test/java/org/sonar/db/qualityprofile/ActiveRuleDaoTest.java b/sonar-db/src/test/java/org/sonar/db/qualityprofile/ActiveRuleDaoTest.java
index 1db32fe9e92..e04b39f9296 100644
--- a/sonar-db/src/test/java/org/sonar/db/qualityprofile/ActiveRuleDaoTest.java
+++ b/sonar-db/src/test/java/org/sonar/db/qualityprofile/ActiveRuleDaoTest.java
@@ -19,7 +19,67 @@
*/
package org.sonar.db.qualityprofile;
-// TODO
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.sonar.api.rule.Severity;
+import org.sonar.api.utils.System2;
+import org.sonar.db.DbClient;
+import org.sonar.db.DbSession;
+import org.sonar.db.DbTester;
+import org.sonar.db.rule.RuleDto;
+import org.sonar.db.rule.RuleTesting;
+import org.sonar.test.DbTests;
+
+import static java.util.Arrays.asList;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+// TODO add missing tests
+@Category(DbTests.class)
public class ActiveRuleDaoTest {
+ static final long NOW = 10000000L;
+
+ static final QualityProfileDto QPROFILE_1 = QualityProfileDto.createFor("qp1").setName("QProile1");
+ static final QualityProfileDto QPROFILE_2 = QualityProfileDto.createFor("qp2").setName("QProile2");
+
+ static final RuleDto RULE_1 = RuleTesting.newDto(RuleTesting.XOO_X1);
+ static final RuleDto RULE_2 = RuleTesting.newDto(RuleTesting.XOO_X2);
+
+ System2 system = mock(System2.class);
+
+ @Rule
+ public DbTester dbTester = DbTester.create(system);
+
+ DbClient dbClient = dbTester.getDbClient();
+ DbSession dbSession = dbTester.getSession();
+
+ ActiveRuleDao underTest = dbTester.getDbClient().activeRuleDao();
+
+ @Before
+ public void createDao() {
+ when(system.now()).thenReturn(NOW);
+
+ dbClient.qualityProfileDao().insert(dbTester.getSession(), QPROFILE_1);
+ dbClient.qualityProfileDao().insert(dbTester.getSession(), QPROFILE_2);
+ dbClient.ruleDao().insert(dbTester.getSession(), RULE_1);
+ dbClient.ruleDao().insert(dbTester.getSession(), RULE_2);
+ dbSession.commit();
+ }
+
+ @Test
+ public void select_by_keys() throws Exception {
+ ActiveRuleDto activeRule1 = ActiveRuleDto.createFor(QPROFILE_1, RULE_1).setSeverity(Severity.BLOCKER);
+ ActiveRuleDto activeRule2 = ActiveRuleDto.createFor(QPROFILE_1, RULE_2).setSeverity(Severity.BLOCKER);
+ underTest.insert(dbTester.getSession(), activeRule1);
+ underTest.insert(dbTester.getSession(), activeRule2);
+ dbSession.commit();
+
+ assertThat(underTest.selectByKeys(dbSession, asList(activeRule1.getKey(), activeRule2.getKey()))).hasSize(2);
+ assertThat(underTest.selectByKeys(dbSession, asList(activeRule1.getKey()))).hasSize(1);
+ assertThat(underTest.selectByKeys(dbSession, asList(ActiveRuleKey.of(QPROFILE_2.getKey(), RULE_1.getKey())))).isEmpty();
+ }
}