From 375caa192ea852d8c48eda478c62a265dedb1692 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 22 Jul 2011 17:49:13 -0400
Subject: [PATCH] Unit test for GitServlet.

---
 tests/com/gitblit/tests/GitServletTest.java |   74 +++++++++++++++++++++++++++++++++++++
 1 files changed, 74 insertions(+), 0 deletions(-)

diff --git a/tests/com/gitblit/tests/GitServletTest.java b/tests/com/gitblit/tests/GitServletTest.java
new file mode 100644
index 0000000..0ede7ca
--- /dev/null
+++ b/tests/com/gitblit/tests/GitServletTest.java
@@ -0,0 +1,74 @@
+package com.gitblit.tests;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.OutputStreamWriter;
+import java.text.MessageFormat;
+import java.util.Date;
+import java.util.concurrent.Executors;
+
+import junit.framework.TestCase;
+
+import org.eclipse.jgit.api.CloneCommand;
+import org.eclipse.jgit.api.Git;
+import org.eclipse.jgit.util.FileUtils;
+
+import com.gitblit.GitBlitServer;
+
+public class GitServletTest extends TestCase {
+
+	File folder = new File(GitBlitSuite.REPOSITORIES, "working/ticgit");
+
+	int port = 8180;
+
+	int shutdownPort = 8181;
+
+	@Override
+	protected void setUp() throws Exception {
+		// Start a Gitblit instance
+		Executors.newSingleThreadExecutor().execute(new Runnable() {
+			public void run() {
+				GitBlitServer.main("--httpPort", "" + port, "--httpsPort", "0", "--shutdownPort",
+						"" + shutdownPort, "--repositoriesFolder",
+						"\"" + GitBlitSuite.REPOSITORIES.getAbsolutePath() + "\"", "--userService",
+						"distrib/users.properties");
+			}
+		});
+
+		// Wait a few seconds for it to be running
+		Thread.sleep(2500);
+	}
+
+	@Override
+	protected void tearDown() throws Exception {
+		// Stop Gitblit
+		GitBlitServer.main("--stop", "--shutdownPort", "" + shutdownPort);
+
+		// Wait a few seconds for it to be running
+		Thread.sleep(2500);
+	}
+
+	public void testClone() throws Exception {
+		FileUtils.delete(folder, FileUtils.RECURSIVE);
+		CloneCommand clone = Git.cloneRepository();
+		clone.setURI(MessageFormat.format("http://localhost:{0,number,#}/git/ticgit.git", port));
+		clone.setDirectory(folder);
+		clone.setBare(false);
+		clone.setCloneAllBranches(true);
+		clone.call();
+	}
+
+	public void testAnonymousCommit() throws Exception {
+		Git git = Git.open(folder);
+		File file = new File(folder, "TODO");
+		OutputStreamWriter os = new OutputStreamWriter(new FileOutputStream(file, true));
+		BufferedWriter w = new BufferedWriter(os);
+		w.write("// " + new Date().toString() + "\n");
+		w.close();
+		git.add().addFilepattern(file.getName()).call();
+		git.commit().setMessage("test commit").call();
+		git.push().setPushAll().call();
+		git.getRepository().close();
+	}
+}

--
Gitblit v1.9.1