diff options
author | James Moger <james.moger@gitblit.com> | 2011-07-22 17:49:13 -0400 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2011-07-22 17:49:13 -0400 |
commit | 375caa192ea852d8c48eda478c62a265dedb1692 (patch) | |
tree | 6311923613dec31821588d62f38a72f933886878 | |
parent | a2709dd91e5d6b18f573016882ccc70799573ad3 (diff) | |
download | gitblit-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.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 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();
+ }
+}
|