From 889e695280f9b82cc31aeb5e8a28b60f8cd6c260 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Sat, 13 Jul 2013 13:10:04 -0400
Subject: [PATCH] Adjust unit test to confirm null permission fix (issue-259)

---
 src/test/java/com/gitblit/tests/GitBlitSuite.java |   60 ++++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 42 insertions(+), 18 deletions(-)

diff --git a/src/test/java/com/gitblit/tests/GitBlitSuite.java b/src/test/java/com/gitblit/tests/GitBlitSuite.java
index b0179c3..a226329 100644
--- a/src/test/java/com/gitblit/tests/GitBlitSuite.java
+++ b/src/test/java/com/gitblit/tests/GitBlitSuite.java
@@ -25,7 +25,7 @@
 import org.eclipse.jgit.lib.Repository;
 import org.eclipse.jgit.lib.RepositoryCache;
 import org.eclipse.jgit.lib.RepositoryCache.FileKey;
-import org.eclipse.jgit.storage.file.FileRepository;
+import org.eclipse.jgit.storage.file.FileRepositoryBuilder;
 import org.eclipse.jgit.util.FS;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
@@ -58,49 +58,58 @@
 		ObjectCacheTest.class, PermissionsTest.class, UserServiceTest.class, LdapUserServiceTest.class,
 		MarkdownUtilsTest.class, JGitUtilsTest.class, SyndicationUtilsTest.class,
 		DiffUtilsTest.class, MetricUtilsTest.class, TicgitUtilsTest.class, X509UtilsTest.class,
-		GitBlitTest.class, FederationTests.class, RpcTests.class, GitServletTest.class,
+		GitBlitTest.class, FederationTests.class, RpcTests.class, GitServletTest.class, GitDaemonTest.class,
 		GroovyScriptTest.class, LuceneExecutorTest.class, IssuesTest.class, RepositoryModelTest.class,
-		FanoutServiceTest.class })
+		FanoutServiceTest.class, Issue0259Test.class })
 public class GitBlitSuite {
 
 	public static final File REPOSITORIES = new File("data/git");
+	
+	public static final File SETTINGS = new File("src/test/config/test-gitblit.properties");
+	
+	public static final File USERSCONF = new File("src/test/config/test-users.conf");
 
 	static int port = 8280;
+	static int gitPort = 8300;
 	static int shutdownPort = 8281;
 
 	public static String url = "http://localhost:" + port;
+	public static String gitServletUrl = "http://localhost:" + port + "/git";
+	public static String gitDaemonUrl = "git://localhost:" + gitPort;
 	public static String account = "admin";
 	public static String password = "admin";
 
 	private static AtomicBoolean started = new AtomicBoolean(false);
 
 	public static Repository getHelloworldRepository() throws Exception {
-		return new FileRepository(new File(REPOSITORIES, "helloworld.git"));
+		return getRepository("helloworld.git");
 	}
 
 	public static Repository getTicgitRepository() throws Exception {
-		return new FileRepository(new File(REPOSITORIES, "ticgit.git"));
+		return getRepository("ticgit.git");
 	}
 
 	public static Repository getJGitRepository() throws Exception {
-		return new FileRepository(new File(REPOSITORIES, "test/jgit.git"));
+		return getRepository("test/jgit.git");
 	}
 
 	public static Repository getAmbitionRepository() throws Exception {
-		return new FileRepository(new File(REPOSITORIES, "test/ambition.git"));
-	}
-
-	public static Repository getTheoreticalPhysicsRepository() throws Exception {
-		return new FileRepository(new File(REPOSITORIES, "test/theoretical-physics.git"));
+		return getRepository("test/ambition.git");
 	}
 
 	public static Repository getIssuesTestRepository() throws Exception {
 		JGitUtils.createRepository(REPOSITORIES, "gb-issues.git").close();
-		return new FileRepository(new File(REPOSITORIES, "gb-issues.git"));
+		return getRepository("gb-issues.git");
 	}
 	
 	public static Repository getGitectiveRepository() throws Exception {
-		return new FileRepository(new File(REPOSITORIES, "test/gitective.git"));
+		return getRepository("test/gitective.git");
+	}
+	
+	private static Repository getRepository(String name) throws Exception {
+		File gitDir = FileKey.resolve(new File(REPOSITORIES, name), FS.DETECTED);
+		Repository repository = new FileRepositoryBuilder().setGitDir(gitDir).build();
+		return repository;
 	}
 
 	public static boolean startGitblit() throws Exception {
@@ -115,15 +124,15 @@
 		Executors.newSingleThreadExecutor().execute(new Runnable() {
 			public void run() {
 				GitBlitServer.main("--httpPort", "" + port, "--httpsPort", "0", "--shutdownPort",
-						"" + shutdownPort, "--repositoriesFolder",
+						"" + shutdownPort, "--gitPort", "" + gitPort, "--repositoriesFolder",
 						"\"" + GitBlitSuite.REPOSITORIES.getAbsolutePath() + "\"", "--userService",
-						"test-users.conf", "--settings", "test-gitblit.properties",
+						GitBlitSuite.USERSCONF.getAbsolutePath(), "--settings", GitBlitSuite.SETTINGS.getAbsolutePath(),
 						"--baseFolder", "data");
 			}
 		});
 
 		// Wait a few seconds for it to be running
-		Thread.sleep(2500);
+		Thread.sleep(5000);
 
 		started.set(true);
 		return true;
@@ -147,13 +156,14 @@
 			cloneOrFetch("test/jgit.git", "https://github.com/eclipse/jgit.git");
 			cloneOrFetch("test/helloworld.git", "https://github.com/git/hello-world.git");
 			cloneOrFetch("test/ambition.git", "https://github.com/defunkt/ambition.git");
-			cloneOrFetch("test/theoretical-physics.git", "https://github.com/certik/theoretical-physics.git");
 			cloneOrFetch("test/gitective.git", "https://github.com/kevinsawicki/gitective.git");
 			
 			enableTickets("ticgit.git");
 			enableDocs("ticgit.git");
 			showRemoteBranches("ticgit.git");
+			automaticallyTagBranchTips("ticgit.git");
 			showRemoteBranches("test/jgit.git");
+			automaticallyTagBranchTips("test/jgit.git");	
 		}
 	}
 
@@ -164,7 +174,11 @@
 
 	private static void cloneOrFetch(String name, String fromUrl) throws Exception {
 		System.out.print("Fetching " + name + "... ");
-		JGitUtils.cloneRepository(REPOSITORIES, name, fromUrl);
+		try {
+			JGitUtils.cloneRepository(REPOSITORIES, name, fromUrl);
+		} catch (Throwable t) {
+			System.out.println("Error: " + t.getMessage());
+		}
 		System.out.println("done.");
 	}
 
@@ -198,6 +212,16 @@
 		}
 	}
 	
+	private static void automaticallyTagBranchTips(String repositoryName) {
+		try {
+			RepositoryModel model = GitBlit.self().getRepositoryModel(repositoryName);
+			model.useIncrementalPushTags = true;
+			GitBlit.self().updateRepositoryModel(model.name, model, false);
+		} catch (GitBlitException g) {
+			g.printStackTrace();
+		}
+	}
+	
 	public static void close(File repository) {
 		try {
 			File gitDir = FileKey.resolve(repository, FS.detect());

--
Gitblit v1.9.1