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