From d65f712ea3d8941f4b9145c0630c30c20af80d13 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 11 Nov 2011 17:22:21 -0500 Subject: [PATCH] Documentation. Add javadoc and source jars to the gbapi download. --- tests/com/gitblit/tests/GitBlitSuite.java | 156 ++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 133 insertions(+), 23 deletions(-) diff --git a/tests/com/gitblit/tests/GitBlitSuite.java b/tests/com/gitblit/tests/GitBlitSuite.java index a31b013..ad87cb0 100644 --- a/tests/com/gitblit/tests/GitBlitSuite.java +++ b/tests/com/gitblit/tests/GitBlitSuite.java @@ -1,18 +1,48 @@ +/* + * Copyright 2011 gitblit.com. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package com.gitblit.tests; import java.io.File; +import java.util.concurrent.Executors; import junit.extensions.TestSetup; import junit.framework.Test; import junit.framework.TestSuite; -import org.eclipse.jgit.api.CloneCommand; -import org.eclipse.jgit.api.Git; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.storage.file.FileRepository; +import com.gitblit.FileSettings; +import com.gitblit.FileUserService; +import com.gitblit.GitBlit; +import com.gitblit.GitBlitException; +import com.gitblit.GitBlitServer; +import com.gitblit.models.RepositoryModel; +import com.gitblit.utils.JGitUtils; + public class GitBlitSuite extends TestSetup { + public static final File REPOSITORIES = new File("git"); + + static int port = 8280; + static int shutdownPort = 8281; + + public static String url = "http://localhost:" + port; + public static String account = "admin"; + public static String password = "admin"; private GitBlitSuite(TestSuite suite) { super(suite); @@ -20,7 +50,21 @@ public static Test suite() { TestSuite suite = new TestSuite(); + suite.addTestSuite(FileUtilsTest.class); + suite.addTestSuite(TimeUtilsTest.class); + suite.addTestSuite(StringUtilsTest.class); + suite.addTestSuite(Base64Test.class); + suite.addTestSuite(JsonUtilsTest.class); + suite.addTestSuite(ByteFormatTest.class); + suite.addTestSuite(ObjectCacheTest.class); + suite.addTestSuite(MarkdownUtilsTest.class); suite.addTestSuite(JGitUtilsTest.class); + suite.addTestSuite(SyndicationUtilsTest.class); + suite.addTestSuite(DiffUtilsTest.class); + suite.addTestSuite(MetricUtilsTest.class); + suite.addTestSuite(TicgitUtilsTest.class); + suite.addTestSuite(GitBlitTest.class); + suite.addTestSuite(RpcTests.class); return new GitBlitSuite(suite); } @@ -32,33 +76,99 @@ return new FileRepository(new File(REPOSITORIES, "ticgit.git")); } + public static Repository getJGitRepository() throws Exception { + return new FileRepository(new File(REPOSITORIES, "test/jgit.git")); + } + + public static Repository getBluezGnomeRepository() throws Exception { + return new FileRepository(new File(REPOSITORIES, "test/bluez-gnome.git")); + } + + public static void startGitblit() 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); + } + + public static void stopGitblit() throws Exception { + // Stop Gitblit + GitBlitServer.main("--stop", "--shutdownPort", "" + shutdownPort); + + // Wait a few seconds for it to be running + Thread.sleep(2500); + } + @Override protected void setUp() throws Exception { + FileSettings settings = new FileSettings("distrib/gitblit.properties"); + GitBlit.self().configureContext(settings, true); + FileUserService loginService = new FileUserService(new File("distrib/users.properties")); + GitBlit.self().setUserService(loginService); + if (REPOSITORIES.exists() || REPOSITORIES.mkdirs()) { - cloneOrFetch("helloworld.git", "https://github.com/git/hello-world.git", true); - cloneOrFetch("nested/helloworld.git", "https://github.com/git/hello-world.git", true); - cloneOrFetch("ticgit.git", "https://github.com/jeffWelling/ticgit.git", true); + cloneOrFetch("helloworld.git", "https://github.com/git/hello-world.git"); + cloneOrFetch("ticgit.git", "https://github.com/jeffWelling/ticgit.git"); + cloneOrFetch("test/bluez-gnome.git", + "https://git.kernel.org/pub/scm/bluetooth/bluez-gnome.git"); + cloneOrFetch("test/jgit.git", "https://github.com/eclipse/jgit.git"); + cloneOrFetch("test/helloworld.git", "https://github.com/git/hello-world.git"); + + enableTickets("ticgit.git"); + enableDocs("ticgit.git"); + showRemoteBranches("ticgit.git"); + showRemoteBranches("test/jgit.git"); + } + + startGitblit(); + } + + @Override + protected void tearDown() throws Exception { + stopGitblit(); + } + + private void cloneOrFetch(String name, String fromUrl) throws Exception { + System.out.print("Fetching " + name + "... "); + JGitUtils.cloneRepository(REPOSITORIES, name, fromUrl); + System.out.println("done."); + } + + private void enableTickets(String repositoryName) { + try { + RepositoryModel model = GitBlit.self().getRepositoryModel(repositoryName); + model.useTickets = true; + GitBlit.self().updateRepositoryModel(model.name, model, false); + } catch (GitBlitException g) { + g.printStackTrace(); } } - private void cloneOrFetch(String toFolder, String fromUrl, boolean bare) throws Exception { - File folder = new File(REPOSITORIES, toFolder + (bare ? "" : "/.git")); - if (folder.exists()) { - System.out.print("Updating " + (bare ? "bare " : " ") + toFolder + "... "); - FileRepository repository = new FileRepository(new File(REPOSITORIES, toFolder)); - Git git = new Git(repository); - git.fetch().call(); - repository.close(); - System.out.println("done."); - } else { - System.out.println("Cloning " + (bare ? "bare " : " ") + toFolder + "... "); - CloneCommand clone = new CloneCommand(); - clone.setBare(bare); - clone.setCloneAllBranches(true); - clone.setURI(fromUrl); - clone.setDirectory(folder); - clone.call(); - System.out.println("done."); + private void enableDocs(String repositoryName) { + try { + RepositoryModel model = GitBlit.self().getRepositoryModel(repositoryName); + model.useDocs = true; + GitBlit.self().updateRepositoryModel(model.name, model, false); + } catch (GitBlitException g) { + g.printStackTrace(); + } + } + + private void showRemoteBranches(String repositoryName) { + try { + RepositoryModel model = GitBlit.self().getRepositoryModel(repositoryName); + model.showRemoteBranches = true; + GitBlit.self().updateRepositoryModel(model.name, model, false); + } catch (GitBlitException g) { + g.printStackTrace(); } } } -- Gitblit v1.9.1