summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2011-07-22 17:49:13 -0400
committerJames Moger <james.moger@gitblit.com>2011-07-22 17:49:13 -0400
commit375caa192ea852d8c48eda478c62a265dedb1692 (patch)
tree6311923613dec31821588d62f38a72f933886878
parenta2709dd91e5d6b18f573016882ccc70799573ad3 (diff)
downloadgitblit-375caa192ea852d8c48eda478c62a265dedb1692.tar.gz
gitblit-375caa192ea852d8c48eda478c62a265dedb1692.zip
Unit test for GitServlet.
This unit test is not part of the suite since it requires firing up gitblit, commiting, and stopping gitblit. This is the first step in evolving unit testing of cloning/pushing.
-rw-r--r--tests/com/gitblit/tests/GitServletTest.java74
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 00000000..0ede7cab
--- /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();
+ }
+}