diff options
author | Julien Lancelot <julien.lancelot@sonarsource.com> | 2016-02-29 11:11:47 +0100 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@sonarsource.com> | 2016-02-29 13:26:54 +0100 |
commit | 28b3b2300ff8e68cda99f114c0011f7896dccfba (patch) | |
tree | af4d5627c17a073334f84972ff76b114ada1dea0 /sonar-db/src/test | |
parent | 5acbaf6b0c02a12525b91c87764a967b08bc9ed0 (diff) | |
download | sonarqube-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.java | 62 |
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(); + } } |