aboutsummaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorStephane Gamard <stephane.gamard@sonarsource.com>2014-08-31 15:22:27 +0200
committerStephane Gamard <stephane.gamard@sonarsource.com>2014-08-31 15:22:27 +0200
commit98af5dee56f634261390f4aacce48fc5020e41aa (patch)
treede5e12a07f9384f78a9b9f72f7610d498987f83f /server
parent7b5eac0452d50159f0c4e38e88ad977acb8fc4ae (diff)
downloadsonarqube-98af5dee56f634261390f4aacce48fc5020e41aa.tar.gz
sonarqube-98af5dee56f634261390f4aacce48fc5020e41aa.zip
SONAR-5529 - Implemented findAfterDate in IssueDao V.2
Diffstat (limited to 'server')
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/search/IndexSynchronizer.java1
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/issue/db/IssueBackendMediumTest.java54
2 files changed, 43 insertions, 12 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/search/IndexSynchronizer.java b/server/sonar-server/src/main/java/org/sonar/server/search/IndexSynchronizer.java
index d4249a020dd..b14059e4a03 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/search/IndexSynchronizer.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/search/IndexSynchronizer.java
@@ -49,6 +49,7 @@ public class IndexSynchronizer {
LOG.info("Starting DB to Index synchronization");
long start = System.currentTimeMillis();
synchronize(session, db.ruleDao(), index.get(RuleIndex.class));
+ synchronize(session, db.issueDao(), index.get(ActivityIndex.class));
synchronize(session, db.activeRuleDao(), index.get(ActiveRuleIndex.class));
synchronize(session, db.activityDao(), index.get(ActivityIndex.class));
session.commit();
diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/db/IssueBackendMediumTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/db/IssueBackendMediumTest.java
index 8443f958525..4416feab29d 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/issue/db/IssueBackendMediumTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/issue/db/IssueBackendMediumTest.java
@@ -22,19 +22,25 @@ package org.sonar.server.issue.db;
import org.junit.After;
import org.junit.Before;
import org.junit.ClassRule;
-import org.junit.Ignore;
import org.junit.Test;
-import org.sonar.api.resources.Project;
+import org.sonar.core.component.ComponentDto;
+import org.sonar.core.issue.db.IssueDto;
import org.sonar.core.persistence.DbSession;
import org.sonar.core.rule.RuleDto;
+import org.sonar.server.component.persistence.ComponentDao;
import org.sonar.server.db.DbClient;
import org.sonar.server.platform.Platform;
import org.sonar.server.rule.RuleTesting;
+import org.sonar.server.rule.db.RuleDao;
import org.sonar.server.search.IndexClient;
import org.sonar.server.tester.ServerTester;
-public class IssueBackendMediumTest {
+import java.util.Date;
+import java.util.UUID;
+
+import static org.fest.assertions.Assertions.assertThat;
+public class IssueBackendMediumTest {
@ClassRule
public static ServerTester tester = new ServerTester();
@@ -61,14 +67,38 @@ public class IssueBackendMediumTest {
}
@Test
- @Ignore("work in progress")
- public void insert_select_issue() throws Exception {
- Project project = new Project("my:project");
+ public void insert_and_find_after_date() throws Exception {
+
RuleDto rule = RuleTesting.newXooX1();
-// //IssueDto issue = IssueDto.createFor(project, rule);
-// System.out.println("issue.getKey() = " + issue.getKey());
-// dbClient.issueDao().insert(dbSession, issue);
-//
-// assertThat(issue.getId()).isNotNull();
+ tester.get(RuleDao.class).insert(dbSession, rule);
+
+ ComponentDto project = new ComponentDto()
+ .setId(1L)
+ .setProjectId(1L);
+ tester.get(ComponentDao.class).insert(dbSession, project);
+
+ ComponentDto resource = new ComponentDto()
+ .setProjectId(1L)
+ .setId(2L);
+ tester.get(ComponentDao.class).insert(dbSession, resource);
+
+ IssueDto issue = new IssueDto().setId(1L).setRuleId(50).setComponentId(123l).setRootComponentId(100l)
+ .setRuleId(rule.getId())
+ .setRootComponentId(project.getId())
+ .setComponentId(resource.getId())
+ .setStatus("OPEN").setResolution("OPEN")
+ .setKee(UUID.randomUUID().toString());
+ dbClient.issueDao().insert(dbSession, issue);
+
+ dbSession.commit();
+ assertThat(issue.getId()).isNotNull();
+
+ // Find Issues since forever
+ Date t0 = new Date(0);
+ assertThat(dbClient.issueDao().findAfterDate(dbSession, t0)).hasSize(1);
+
+ // Should not find any new issues
+ Date t1 = new Date();
+ assertThat(dbClient.issueDao().findAfterDate(dbSession, t1)).hasSize(0);
}
-} \ No newline at end of file
+}