From 7d35ed8bd6ccb43d4ae89b151f193392edb9184b Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 14 Mar 2012 16:18:39 -0400
Subject: [PATCH] Added Lucene Memory lib dependency
---
tests/com/gitblit/tests/IssuesTest.java | 65 ++++++++++++++++++--------------
1 files changed, 36 insertions(+), 29 deletions(-)
diff --git a/tests/com/gitblit/tests/IssuesTest.java b/tests/com/gitblit/tests/IssuesTest.java
index 26b5995..eb7b66d 100644
--- a/tests/com/gitblit/tests/IssuesTest.java
+++ b/tests/com/gitblit/tests/IssuesTest.java
@@ -32,8 +32,11 @@
import com.gitblit.models.IssueModel.Field;
import com.gitblit.models.IssueModel.Priority;
import com.gitblit.models.IssueModel.Status;
+import com.gitblit.models.SearchResult;
import com.gitblit.utils.IssueUtils;
import com.gitblit.utils.IssueUtils.IssueFilter;
+import com.gitblit.utils.LuceneUtils;
+import com.gitblit.utils.StringUtils;
/**
* Tests the mechanics of distributed issue management on the gb-issues branch.
@@ -44,9 +47,12 @@
public class IssuesTest {
@Test
- public void testCreation() throws Exception {
+ public void testLifecycle() throws Exception {
Repository repository = GitBlitSuite.getIssuesTestRepository();
- // create and insert the issue
+ String name = StringUtils.getRelativePath(GitBlitSuite.REPOSITORIES.getAbsolutePath(),
+ repository.getDirectory().getAbsolutePath());
+
+ // create and insert an issue
Change c1 = newChange("testCreation() " + Long.toHexString(System.currentTimeMillis()));
IssueModel issue = IssueUtils.createIssue(repository, c1);
assertNotNull(issue.id);
@@ -56,18 +62,15 @@
compare(issue, constructed);
assertEquals(1, constructed.changes.size());
- }
-
- @Test
- public void testUpdates() throws Exception {
- Repository repository = GitBlitSuite.getIssuesTestRepository();
+
// C1: create the issue
- Change c1 = newChange("testUpdates() " + Long.toHexString(System.currentTimeMillis()));
- IssueModel issue = IssueUtils.createIssue(repository, c1);
+ c1 = newChange("testUpdates() " + Long.toHexString(System.currentTimeMillis()));
+ issue = IssueUtils.createIssue(repository, c1);
assertNotNull(issue.id);
- IssueModel constructed = IssueUtils.getIssue(repository, issue.id);
+ constructed = IssueUtils.getIssue(repository, issue.id);
compare(issue, constructed);
+ assertEquals(1, constructed.changes.size());
// C2: set owner
Change c2 = new Change("C2");
@@ -107,21 +110,13 @@
assertEquals(5, constructed.changes.size());
assertTrue(constructed.status.isClosed());
- repository.close();
- }
-
- @Test
- public void testQuery() throws Exception {
- Repository repository = GitBlitSuite.getIssuesTestRepository();
List<IssueModel> allIssues = IssueUtils.getIssues(repository, null);
-
List<IssueModel> openIssues = IssueUtils.getIssues(repository, new IssueFilter() {
@Override
public boolean accept(IssueModel issue) {
return !issue.status.isClosed();
}
});
-
List<IssueModel> closedIssues = IssueUtils.getIssues(repository, new IssueFilter() {
@Override
public boolean accept(IssueModel issue) {
@@ -129,23 +124,35 @@
}
});
- repository.close();
assertTrue(allIssues.size() > 0);
assertEquals(1, openIssues.size());
assertEquals(1, closedIssues.size());
- }
-
- @Test
- public void testDelete() throws Exception {
- Repository repository = GitBlitSuite.getIssuesTestRepository();
- List<IssueModel> allIssues = IssueUtils.getIssues(repository, null);
- // delete all issues
- for (IssueModel issue : allIssues) {
- assertTrue(IssueUtils.deleteIssue(repository, issue.id, "D"));
+
+ // build a new Lucene index
+ LuceneUtils.deleteIndex(repository);
+ for (IssueModel anIssue : allIssues) {
+ LuceneUtils.index(name, repository, anIssue);
}
+ List<SearchResult> hits = LuceneUtils.search("working", 10, repository);
+ assertTrue(hits.size() > 0);
+
+ // reindex an issue
+ issue = allIssues.get(0);
+ Change change = new Change("reindex");
+ change.comment("this is a test of reindexing an issue");
+ IssueUtils.updateIssue(repository, issue.id, change);
+ issue = IssueUtils.getIssue(repository, issue.id);
+ LuceneUtils.index(name, repository, issue);
+
+ // delete all issues
+ for (IssueModel anIssue : allIssues) {
+ assertTrue(IssueUtils.deleteIssue(repository, anIssue.id, "D"));
+ }
+
+ LuceneUtils.close();
repository.close();
}
-
+
@Test
public void testChangeComment() throws Exception {
Repository repository = GitBlitSuite.getIssuesTestRepository();
--
Gitblit v1.9.1