From 7ae1fac1236d61c6b60d295bdc06caa654fa8098 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 05 Mar 2014 11:42:34 -0500
Subject: [PATCH] Allow changing status from edit ticket page
---
src/test/java/com/gitblit/tests/LuceneExecutorTest.java | 79 ++++++++++++++++++++-------------------
1 files changed, 40 insertions(+), 39 deletions(-)
diff --git a/src/test/java/com/gitblit/tests/LuceneExecutorTest.java b/src/test/java/com/gitblit/tests/LuceneExecutorTest.java
index 0b67f5d..319c09c 100644
--- a/src/test/java/com/gitblit/tests/LuceneExecutorTest.java
+++ b/src/test/java/com/gitblit/tests/LuceneExecutorTest.java
@@ -15,49 +15,50 @@
*/
package com.gitblit.tests;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import org.eclipse.jgit.lib.Repository;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import com.gitblit.LuceneExecutor;
+import com.gitblit.Keys;
+import com.gitblit.manager.RepositoryManager;
+import com.gitblit.manager.RuntimeManager;
+import com.gitblit.manager.UserManager;
import com.gitblit.models.RefModel;
import com.gitblit.models.RepositoryModel;
import com.gitblit.models.SearchResult;
+import com.gitblit.service.LuceneService;
import com.gitblit.tests.mock.MemorySettings;
import com.gitblit.utils.FileUtils;
import com.gitblit.utils.JGitUtils;
/**
* Tests Lucene indexing and querying.
- *
+ *
* @author James Moger
- *
+ *
*/
-public class LuceneExecutorTest {
+public class LuceneExecutorTest extends GitblitUnitTest {
- LuceneExecutor lucene;
-
- private LuceneExecutor newLuceneExecutor() {
- Map<String, Object> map = new HashMap<String, Object>();
- MemorySettings settings = new MemorySettings(map);
- return new LuceneExecutor(settings, GitBlitSuite.REPOSITORIES);
+ LuceneService lucene;
+
+ private LuceneService newLuceneExecutor() {
+ MemorySettings settings = new MemorySettings();
+ settings.put(Keys.git.repositoriesFolder, GitBlitSuite.REPOSITORIES);
+ RuntimeManager runtime = new RuntimeManager(settings, GitBlitSuite.BASEFOLDER).start();
+ UserManager users = new UserManager(runtime).start();
+ RepositoryManager repos = new RepositoryManager(runtime, users);
+ return new LuceneService(settings, repos);
}
-
- private RepositoryModel newRepositoryModel(Repository repository) {
+
+ private RepositoryModel newRepositoryModel(Repository repository) {
RepositoryModel model = new RepositoryModel();
model.name = FileUtils.getRelativePath(GitBlitSuite.REPOSITORIES, repository.getDirectory());
model.hasCommits = JGitUtils.hasCommits(repository);
-
+
// index all local branches
model.indexedBranches = new ArrayList<String>();
for (RefModel ref : JGitUtils.getLocalBranches(repository, true, -1)) {
@@ -65,29 +66,29 @@
}
return model;
}
-
+
@Before
public void setup() {
lucene = newLuceneExecutor();
}
-
+
@After
public void tearDown() {
lucene.close();
}
-
+
@Test
- public void testIndex() throws Exception {
+ public void testIndex() {
// reindex helloworld
Repository repository = GitBlitSuite.getHelloworldRepository();
RepositoryModel model = newRepositoryModel(repository);
lucene.reindex(model, repository);
repository.close();
-
- SearchResult result = lucene.search("type:blob AND path:bit.bit", 1, 1, model.name).get(0);
+
+ SearchResult result = lucene.search("type:blob AND path:bit.bit", 1, 1, model.name).get(0);
assertEquals("Mike Donaghy", result.author);
- result = lucene.search("type:blob AND path:clipper.prg", 1, 1, model.name).get(0);
- assertEquals("tinogomes", result.author);
+ result = lucene.search("type:blob AND path:clipper.prg", 1, 1, model.name).get(0);
+ assertEquals("tinogomes", result.author);
// reindex JGit
repository = GitBlitSuite.getJGitRepository();
@@ -99,10 +100,10 @@
@Test
public void testQuery() throws Exception {
// 2 occurrences on the master branch
- Repository repository = GitBlitSuite.getHelloworldRepository();
+ Repository repository = GitBlitSuite.getHelloworldRepository();
RepositoryModel model = newRepositoryModel(repository);
repository.close();
-
+
List<SearchResult> results = lucene.search("ada", 1, 10, model.name);
assertEquals(2, results.size());
for (SearchResult res : results) {
@@ -112,37 +113,37 @@
// author test
results = lucene.search("author: tinogomes AND type:commit", 1, 10, model.name);
assertEquals(2, results.size());
-
+
// blob test
results = lucene.search("type: blob AND \"import std.stdio\"", 1, 10, model.name);
assertEquals(1, results.size());
assertEquals("d.D", results.get(0).path);
-
+
// commit test
repository = GitBlitSuite.getJGitRepository();
model = newRepositoryModel(repository);
repository.close();
-
+
results = lucene.search("\"initial jgit contribution to eclipse.org\"", 1, 10, model.name);
assertEquals(1, results.size());
assertEquals("Git Development Community", results.get(0).author);
assertEquals("1a6964c8274c50f0253db75f010d78ef0e739343", results.get(0).commitId);
assertEquals("refs/heads/master", results.get(0).branch);
-
+
// hash id tests
results = lucene.search("type:commit AND commit:1a6964c8274c50f0253db75f010d78ef0e739343", 1, 10, model.name);
assertEquals(1, results.size());
results = lucene.search("type:commit AND commit:1a6964c8274*", 1, 10, model.name);
assertEquals("Shawn O. Pearce", results.get(0).committer);
- assertEquals(1, results.size());
-
+ assertEquals(1, results.size());
+
// annotated tag test
results = lucene.search("I663208919f297836a9c16bf458e4a43ffaca4c12", 1, 10, model.name);
assertEquals(1, results.size());
- assertEquals("[v1.3.0.201202151440-r]", results.get(0).tags.toString());
+ assertEquals("[v1.3.0.201202151440-r]", results.get(0).tags.toString());
}
-
+
@Test
public void testMultiSearch() throws Exception {
List<String> list = new ArrayList<String>();
@@ -157,14 +158,14 @@
List<SearchResult> results = lucene.search("test", 1, 10, list);
assertEquals(10, results.size());
}
-
+
@Test
public void testDeleteBlobFromIndex() throws Exception {
// start with a fresh reindex of entire repository
Repository repository = GitBlitSuite.getHelloworldRepository();
RepositoryModel model = newRepositoryModel(repository);
lucene.reindex(model, repository);
-
+
// now delete a blob
assertTrue(lucene.deleteBlob(model.name, "refs/heads/master", "java.java"));
assertFalse(lucene.deleteBlob(model.name, "refs/heads/master", "java.java"));
--
Gitblit v1.9.1