diff options
-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();
+ }
+}
|