]> source.dussan.org Git - sonarqube.git/commitdiff
Fix test on MySQL
authorJulien Lancelot <julien.lancelot@sonarsource.com>
Fri, 10 Oct 2014 08:13:46 +0000 (10:13 +0200)
committerJulien Lancelot <julien.lancelot@sonarsource.com>
Fri, 10 Oct 2014 08:13:56 +0000 (10:13 +0200)
server/sonar-server/src/test/java/org/sonar/server/rule/RegisterRulesTest.java

index ac63a246aad541691d626a189292f107c93a398c..a86f52eb14690e759a45fd7c4a5d2f8af62926ca 100644 (file)
@@ -170,14 +170,26 @@ public class RegisterRulesTest extends AbstractDaoTestCase {
     execute(new FakeRepositoryV1());
     assertThat(dbClient.ruleDao().findAll(dbSession)).hasSize(2);
 
+    RuleDto rule2 = dbClient.ruleDao().getByKey(dbSession, RuleKey.of("fake", "rule2"));
+    assertThat(rule2.getStatus()).isEqualTo(RuleStatus.READY);
+
     when(system.now()).thenReturn(DATE2.getTime());
     execute(new FakeRepositoryV2());
+
+    // On MySQL, need to update a rule otherwise rule2 will be seen as READY, but why ???
+    dbClient.ruleDao().update(dbSession, dbClient.ruleDao().getByKey(dbSession, RuleKey.of("fake", "rule1")));
+    dbSession.commit();
+
     // rule2 is removed
+    rule2 = dbClient.ruleDao().getNullableByKey(dbSession, RuleKey.of("fake", "rule2"));
+    assertThat(rule2.getStatus()).isEqualTo(RuleStatus.REMOVED);
 
     when(system.now()).thenReturn(DATE3.getTime());
     execute(new FakeRepositoryV2());
+    dbSession.commit();
+
     // -> rule2 is still removed, but not update at DATE3
-    RuleDto rule2 = dbClient.ruleDao().getNullableByKey(dbSession, RuleKey.of("fake", "rule2"));
+    rule2 = dbClient.ruleDao().getNullableByKey(dbSession, RuleKey.of("fake", "rule2"));
     assertThat(rule2.getStatus()).isEqualTo(RuleStatus.REMOVED);
     assertThat(rule2.getUpdatedAt()).isEqualTo(DATE2);
   }