From f22a0633d08e38ac4bf92b5165a708e11b4d6598 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 03 Oct 2012 17:31:37 -0400
Subject: [PATCH] Implemented support for toggling User.canFork in Manager

---
 tests/com/gitblit/tests/JGitUtilsTest.java |   48 +++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 43 insertions(+), 5 deletions(-)

diff --git a/tests/com/gitblit/tests/JGitUtilsTest.java b/tests/com/gitblit/tests/JGitUtilsTest.java
index 74531fa..f487046 100644
--- a/tests/com/gitblit/tests/JGitUtilsTest.java
+++ b/tests/com/gitblit/tests/JGitUtilsTest.java
@@ -37,6 +37,7 @@
 import org.eclipse.jgit.lib.Repository;
 import org.eclipse.jgit.lib.RepositoryCache.FileKey;
 import org.eclipse.jgit.revwalk.RevCommit;
+import org.eclipse.jgit.revwalk.RevTree;
 import org.eclipse.jgit.util.FS;
 import org.eclipse.jgit.util.FileUtils;
 import org.junit.Test;
@@ -66,12 +67,30 @@
 
 	@Test
 	public void testFindRepositories() {
-		List<String> list = JGitUtils.getRepositoryList(null, false, true);
+		List<String> list = JGitUtils.getRepositoryList(null, false, true, -1, null);
 		assertEquals(0, list.size());
-		list.addAll(JGitUtils.getRepositoryList(new File("DoesNotExist"), true, true));
+		list.addAll(JGitUtils.getRepositoryList(new File("DoesNotExist"), true, true, -1, null));
 		assertEquals(0, list.size());
-		list.addAll(JGitUtils.getRepositoryList(GitBlitSuite.REPOSITORIES, true, true));
+		list.addAll(JGitUtils.getRepositoryList(GitBlitSuite.REPOSITORIES, false, true, -1, null));
 		assertTrue("No repositories found in " + GitBlitSuite.REPOSITORIES, list.size() > 0);
+	}
+
+	@Test
+	public void testFindExclusions() {
+		List<String> list = JGitUtils.getRepositoryList(GitBlitSuite.REPOSITORIES, false, true, -1, null);
+		assertTrue("Missing jgit repository?!", list.contains("test/jgit.git"));
+
+		list = JGitUtils.getRepositoryList(GitBlitSuite.REPOSITORIES, false, true, -1, Arrays.asList("test/jgit\\.git"));
+		assertFalse("Repository exclusion failed!", list.contains("test/jgit.git"));
+
+		list = JGitUtils.getRepositoryList(GitBlitSuite.REPOSITORIES, false, true, -1, Arrays.asList("test/*"));
+		assertFalse("Repository exclusion failed!", list.contains("test/jgit.git"));
+
+		list = JGitUtils.getRepositoryList(GitBlitSuite.REPOSITORIES, false, true, -1, Arrays.asList(".*jgit.*"));
+		assertFalse("Repository exclusion failed!", list.contains("test/jgit.git"));
+		assertFalse("Repository exclusion failed!", list.contains("working/jgit"));
+		assertFalse("Repository exclusion failed!", list.contains("working/jgit2"));
+
 	}
 
 	@Test
@@ -236,6 +255,25 @@
 	}
 
 	@Test
+	public void testRelinkBranch() throws Exception {
+		Repository repository = GitBlitSuite.getJGitRepository();
+		
+		// create/set the branch
+		JGitUtils.setBranchRef(repository, "refs/heads/reftest", "3b358ce514ec655d3ff67de1430994d8428cdb04");
+		assertEquals(1, JGitUtils.getAllRefs(repository).get(ObjectId.fromString("3b358ce514ec655d3ff67de1430994d8428cdb04")).size());
+		assertEquals(null, JGitUtils.getAllRefs(repository).get(ObjectId.fromString("755dfdb40948f5c1ec79e06bde3b0a78c352f27f")));
+		
+		// reset the branch
+		JGitUtils.setBranchRef(repository, "refs/heads/reftest", "755dfdb40948f5c1ec79e06bde3b0a78c352f27f");
+		assertEquals(null, JGitUtils.getAllRefs(repository).get(ObjectId.fromString("3b358ce514ec655d3ff67de1430994d8428cdb04")));
+		assertEquals(1, JGitUtils.getAllRefs(repository).get(ObjectId.fromString("755dfdb40948f5c1ec79e06bde3b0a78c352f27f")).size());
+
+		// delete the branch
+		assertTrue(JGitUtils.deleteBranchRef(repository, "refs/heads/reftest"));
+		repository.close();
+	}
+
+	@Test
 	public void testCreateOrphanedBranch() throws Exception {
 		Repository repository = JGitUtils.createRepository(GitBlitSuite.REPOSITORIES, "orphantest");
 		assertTrue(JGitUtils.createOrphanBranch(repository,
@@ -246,7 +284,7 @@
 	@Test
 	public void testStringContent() throws Exception {
 		Repository repository = GitBlitSuite.getHelloworldRepository();
-		String contentA = JGitUtils.getStringContent(repository, null, "java.java");
+		String contentA = JGitUtils.getStringContent(repository, (RevTree) null, "java.java");
 		RevCommit commit = JGitUtils.getCommit(repository, Constants.HEAD);
 		String contentB = JGitUtils.getStringContent(repository, commit.getTree(), "java.java");
 		String contentC = JGitUtils.getStringContent(repository, commit.getTree(), "missing.txt");
@@ -324,7 +362,7 @@
 		assertEquals("-rwxr-xr-x",
 				JGitUtils.getPermissionsFromMode(FileMode.EXECUTABLE_FILE.getBits()));
 		assertEquals("symlink", JGitUtils.getPermissionsFromMode(FileMode.SYMLINK.getBits()));
-		assertEquals("gitlink", JGitUtils.getPermissionsFromMode(FileMode.GITLINK.getBits()));
+		assertEquals("submodule", JGitUtils.getPermissionsFromMode(FileMode.GITLINK.getBits()));
 		assertEquals("missing", JGitUtils.getPermissionsFromMode(FileMode.MISSING.getBits()));
 	}
 

--
Gitblit v1.9.1