From 9effe1630d97039b3e01cd9b58ed07e75be1d63c Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 25 Feb 2013 08:40:30 -0500 Subject: [PATCH] Merge pull request #75 from thefake/master --- tests/com/gitblit/tests/IssuesTest.java | 71 ++++++++++++++++++++--------------- 1 files changed, 41 insertions(+), 30 deletions(-) diff --git a/tests/com/gitblit/tests/IssuesTest.java b/tests/com/gitblit/tests/IssuesTest.java index 26b5995..54cac33 100644 --- a/tests/com/gitblit/tests/IssuesTest.java +++ b/tests/com/gitblit/tests/IssuesTest.java @@ -26,12 +26,15 @@ import org.eclipse.jgit.lib.Repository; import org.junit.Test; +import com.gitblit.LuceneExecutor; import com.gitblit.models.IssueModel; import com.gitblit.models.IssueModel.Attachment; import com.gitblit.models.IssueModel.Change; 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.FileUtils; import com.gitblit.utils.IssueUtils; import com.gitblit.utils.IssueUtils.IssueFilter; @@ -44,9 +47,11 @@ 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 = FileUtils.getRelativePath(GitBlitSuite.REPOSITORIES, repository.getDirectory()); + + // create and insert an issue Change c1 = newChange("testCreation() " + Long.toHexString(System.currentTimeMillis())); IssueModel issue = IssueUtils.createIssue(repository, c1); assertNotNull(issue.id); @@ -56,18 +61,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,45 +109,54 @@ 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) { return issue.status.isClosed(); } }); - - 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 + LuceneExecutor lucene = new LuceneExecutor(null, GitBlitSuite.REPOSITORIES); + lucene.deleteIndex(name); + for (IssueModel anIssue : allIssues) { + lucene.index(name, anIssue); } + List<SearchResult> hits = lucene.search("working", 1, 10, name); + assertTrue(hits.size() == 1); + + // 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); + lucene.index(name, issue); + + hits = lucene.search("working", 1, 10, name); + assertTrue(hits.size() == 1); + + + // delete all issues + for (IssueModel anIssue : allIssues) { + assertTrue(IssueUtils.deleteIssue(repository, anIssue.id, "D")); + } + + lucene.close(); repository.close(); } - + @Test public void testChangeComment() throws Exception { Repository repository = GitBlitSuite.getIssuesTestRepository(); -- Gitblit v1.9.1