From 6c5511020457c39961d069071ac60f7140ec724f Mon Sep 17 00:00:00 2001
From: Lukasz Jader <ljaderdev@gmail.com>
Date: Wed, 19 Sep 2012 16:24:10 -0400
Subject: [PATCH] Update polish translation of EmptyRepositoryPage

---
 tests/com/gitblit/tests/LuceneExecutorTest.java |   85 +++++++++++++++++++++++++++++-------------
 1 files changed, 58 insertions(+), 27 deletions(-)

diff --git a/tests/com/gitblit/tests/LuceneExecutorTest.java b/tests/com/gitblit/tests/LuceneExecutorTest.java
index ddc9bf8..6b45b9f 100644
--- a/tests/com/gitblit/tests/LuceneExecutorTest.java
+++ b/tests/com/gitblit/tests/LuceneExecutorTest.java
@@ -16,16 +16,24 @@
 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.Test;
 
 import com.gitblit.LuceneExecutor;
+import com.gitblit.models.RefModel;
+import com.gitblit.models.RepositoryModel;
 import com.gitblit.models.SearchResult;
-import com.gitblit.utils.StringUtils;
+import com.gitblit.tests.mock.MemorySettings;
+import com.gitblit.utils.FileUtils;
+import com.gitblit.utils.JGitUtils;
 
 /**
  * Tests Lucene indexing and querying.
@@ -36,12 +44,22 @@
 public class LuceneExecutorTest {
 
 	private LuceneExecutor newLuceneExecutor() {
-		return new LuceneExecutor(null, GitBlitSuite.REPOSITORIES);
+		Map<String, Object> map = new HashMap<String, Object>();
+		MemorySettings settings = new MemorySettings(map);		
+		return new LuceneExecutor(settings, GitBlitSuite.REPOSITORIES);
 	}
 	
-	private String getName(Repository repository) {
-		return StringUtils.getRelativePath(GitBlitSuite.REPOSITORIES.getAbsolutePath(),
-				repository.getDirectory().getAbsolutePath());
+	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)) {
+			model.indexedBranches.add(ref.getName());
+		}
+		return model;
 	}
 	
 	@Test
@@ -50,25 +68,25 @@
 		
 		// reindex helloworld
 		Repository repository = GitBlitSuite.getHelloworldRepository();
-		String name = getName(repository);
-		lucene.reindex(name, repository);
+		RepositoryModel model = newRepositoryModel(repository);
+		lucene.reindex(model, repository);
 		repository.close();
 		
-		SearchResult result = lucene.search("type:blob AND path:bit.bit", 1, 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, name).get(0);		
+		result = lucene.search("type:blob AND path:clipper.prg", 1, 1, model.name).get(0);		
 		assertEquals("tinogomes", result.author);		
 
 		// reindex theoretical physics
 		repository = GitBlitSuite.getTheoreticalPhysicsRepository();
-		name = getName(repository);
-		lucene.reindex(name, repository);
+		model = newRepositoryModel(repository);
+		lucene.reindex(model, repository);
 		repository.close();
 		
 		// reindex JGit
 		repository = GitBlitSuite.getJGitRepository();
-		name = getName(repository);
-		lucene.reindex(name, repository);
+		model = newRepositoryModel(repository);
+		lucene.reindex(model, repository);
 		repository.close();
 		
 		lucene.close();
@@ -80,51 +98,51 @@
 		
 		// 2 occurrences on the master branch
 		Repository repository = GitBlitSuite.getHelloworldRepository();				
-		String name = getName(repository);
+		RepositoryModel model = newRepositoryModel(repository);
 		repository.close();
 		
-		List<SearchResult> results = lucene.search("ada", 10, name);
+		List<SearchResult> results = lucene.search("ada", 1, 10, model.name);
 		assertEquals(2, results.size());
 		for (SearchResult res : results) {
 			assertEquals("refs/heads/master", res.branch);
 		}
 
 		// author test
-		results = lucene.search("author: tinogomes AND type:commit", 10, name);
+		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\"", 10, name);
+		results = lucene.search("type: blob AND \"import std.stdio\"", 1, 10, model.name);
 		assertEquals(1, results.size());
 		assertEquals("d.D", results.get(0).path);
 		
 		// 1 occurrence on the gh-pages branch
 		repository = GitBlitSuite.getTheoreticalPhysicsRepository();
-		name = getName(repository);
+		model = newRepositoryModel(repository);
 		repository.close();
 		
-		results = lucene.search("\"add the .nojekyll file\"", 10, name);
+		results = lucene.search("\"add the .nojekyll file\"", 1, 10, model.name);
 		assertEquals(1, results.size());
 		assertEquals("Ondrej Certik", results.get(0).author);
 		assertEquals("2648c0c98f2101180715b4d432fc58d0e21a51d7", results.get(0).commitId);
 		assertEquals("refs/heads/gh-pages", results.get(0).branch);
 		
-		results = lucene.search("type:blob AND \"src/intro.rst\"", 10, name);
+		results = lucene.search("type:blob AND \"src/intro.rst\"", 1, 10, model.name);
 		assertEquals(4, results.size());
 		
 		// hash id tests
-		results = lucene.search("commit:57c4f26f157ece24b02f4f10f5f68db1d2ce7ff5", 10, name);
+		results = lucene.search("commit:57c4f26f157ece24b02f4f10f5f68db1d2ce7ff5", 1, 10, model.name);
 		assertEquals(1, results.size());
 
-		results = lucene.search("commit:57c4f26f157*", 10, name);
+		results = lucene.search("commit:57c4f26f157*", 1, 10, model.name);
 		assertEquals(1, results.size());		
 		
 		// annotated tag test
 		repository = GitBlitSuite.getJGitRepository();
-		name = getName(repository);
+		model = newRepositoryModel(repository);
 		repository.close();
 		
-		results = lucene.search("I663208919f297836a9c16bf458e4a43ffaca4c12", 10, name);
+		results = lucene.search("I663208919f297836a9c16bf458e4a43ffaca4c12", 1, 10, model.name);
 		assertEquals(1, results.size());
 		assertEquals("[v1.3.0.201202151440-r]", results.get(0).tags.toString());		
 		
@@ -136,15 +154,28 @@
 		LuceneExecutor lucene = newLuceneExecutor();
 		List<String> list = new ArrayList<String>();
 		Repository repository = GitBlitSuite.getHelloworldRepository();
-		list.add(getName(repository));
+		list.add(newRepositoryModel(repository).name);
 		repository.close();
 
 		repository = GitBlitSuite.getJGitRepository();
-		list.add(getName(repository));
+		list.add(newRepositoryModel(repository).name);
 		repository.close();
 
-		List<SearchResult> results = lucene.search("test", 10, list);
+		List<SearchResult> results = lucene.search("test", 1, 10, list);
 		lucene.close();
 		assertEquals(10, results.size());
 	}
+	
+	@Test
+	public void testDeleteBlobFromIndex() throws Exception {
+		// start with a fresh reindex of entire repository
+		LuceneExecutor lucene = newLuceneExecutor();
+		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"));
+	}
 }
\ No newline at end of file

--
Gitblit v1.9.1