From 375caa192ea852d8c48eda478c62a265dedb1692 Mon Sep 17 00:00:00 2001 From: James Moger Date: Fri, 22 Jul 2011 17:49:13 -0400 Subject: [PATCH] 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. --- tests/com/gitblit/tests/GitServletTest.java | 74 +++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 tests/com/gitblit/tests/GitServletTest.java 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(); + } +} -- 2.39.5