From 06ff61c04db32abc7ba4bbaeee604482c343152e Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 24 Jan 2012 22:49:53 -0500
Subject: [PATCH] Fairly functional Lucene backend for commits, blobs, and issues
---
tests/com/gitblit/tests/IssuesTest.java | 36 ++++++++++++++++++++++++++++++++++++
1 files changed, 36 insertions(+), 0 deletions(-)
diff --git a/tests/com/gitblit/tests/IssuesTest.java b/tests/com/gitblit/tests/IssuesTest.java
index 26b5995..c475c46 100644
--- a/tests/com/gitblit/tests/IssuesTest.java
+++ b/tests/com/gitblit/tests/IssuesTest.java
@@ -32,8 +32,10 @@
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;
/**
* Tests the mechanics of distributed issue management on the gb-issues branch.
@@ -136,6 +138,40 @@
}
@Test
+ public void testLuceneIndexAndQuery() throws Exception {
+ Repository repository = GitBlitSuite.getIssuesTestRepository();
+ LuceneUtils.deleteIndex(repository);
+ List<IssueModel> allIssues = IssueUtils.getIssues(repository, null);
+ assertTrue(allIssues.size() > 0);
+ for (IssueModel issue : allIssues) {
+ LuceneUtils.index(repository, issue, false);
+ }
+ List<SearchResult> hits = LuceneUtils.search(repository, "working");
+ assertTrue(hits.size() > 0);
+
+ // reindex an issue
+ IssueModel 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(repository, issue, true);
+
+ LuceneUtils.close();
+ repository.close();
+ }
+
+ @Test
+ public void testLuceneQuery() throws Exception {
+ Repository repository = GitBlitSuite.getIssuesTestRepository();
+ List<SearchResult> hits = LuceneUtils.search(repository, "working");
+ LuceneUtils.close();
+ repository.close();
+ assertTrue(hits.size() > 0);
+ }
+
+
+ @Test
public void testDelete() throws Exception {
Repository repository = GitBlitSuite.getIssuesTestRepository();
List<IssueModel> allIssues = IssueUtils.getIssues(repository, null);
--
Gitblit v1.9.1