src/com/gitblit/GitBlit.java | ●●●●● patch | view | raw | blame | history | |
src/com/gitblit/GitBlitServer.java | ●●●●● patch | view | raw | blame | history | |
tests/de/akquinet/devops/GitBlit4UITests.java | ●●●●● patch | view | raw | blame | history | |
tests/de/akquinet/devops/GitBlitServer4UITests.java | ●●●●● patch | view | raw | blame | history | |
tests/de/akquinet/devops/GitblitRunnable.java | ●●●●● patch | view | raw | blame | history | |
tests/de/akquinet/devops/test/ui/TestUISuite.java | ●●●●● patch | view | raw | blame | history | |
tests/de/akquinet/devops/test/ui/cases/UI_MultiAdminSupportTest.java | ●●●●● patch | view | raw | blame | history | |
tests/de/akquinet/devops/test/ui/view/RepoEditView.java | ●●●●● patch | view | raw | blame | history |
src/com/gitblit/GitBlit.java
@@ -3096,8 +3096,8 @@ } // schedule lucene engine logger.info("Lucene executor is scheduled to process indexed branches every 2 minutes."); scheduledExecutor.scheduleAtFixedRate(luceneExecutor, 1, 2, TimeUnit.MINUTES); enableLuceneIndexing(); // schedule gc engine if (gcExecutor.isReady()) { @@ -3178,6 +3178,23 @@ } } protected void enableLuceneIndexing() { scheduledExecutor.scheduleAtFixedRate(luceneExecutor, 1, 2, TimeUnit.MINUTES); logger.info("Lucene executor is scheduled to process indexed branches every 2 minutes."); } protected final Logger getLogger() { return logger; } protected final ScheduledExecutorService getScheduledExecutor() { return scheduledExecutor; } protected final LuceneExecutor getLuceneExecutor() { return luceneExecutor; } private void logTimezone(String type, TimeZone zone) { SimpleDateFormat df = new SimpleDateFormat("z Z"); df.setTimeZone(zone); src/com/gitblit/GitBlitServer.java
@@ -84,6 +84,8 @@ private static Logger logger; public static void main(String... args) { GitBlitServer server = new GitBlitServer(); // filter out the baseFolder parameter List<String> filtered = new ArrayList<String>(); String folder = "data"; @@ -108,16 +110,16 @@ try { jc.parse(filtered.toArray(new String[filtered.size()])); if (params.help) { usage(jc, null); server.usage(jc, null); } } catch (ParameterException t) { usage(jc, t); server.usage(jc, t); } if (params.stop) { stop(params); server.stop(params); } else { start(params); server.start(params); } } @@ -127,7 +129,7 @@ * @param jc * @param t */ private static void usage(JCommander jc, ParameterException t) { protected final void usage(JCommander jc, ParameterException t) { System.out.println(Constants.BORDER); System.out.println(Constants.getGitBlitVersion()); System.out.println(Constants.BORDER); @@ -147,7 +149,7 @@ /** * Stop Gitblt GO. */ public static void stop(Params params) { public void stop(Params params) { try { Socket s = new Socket(InetAddress.getByName("127.0.0.1"), params.shutdownPort); OutputStream out = s.getOutputStream(); @@ -165,7 +167,7 @@ /** * Start Gitblit GO. */ private static void start(Params params) { protected final void start(Params params) { final File baseFolder = new File(Params.baseFolder).getAbsoluteFile(); FileSettings settings = params.FILESETTINGS; if (!StringUtils.isEmpty(params.settingsfile)) { @@ -378,7 +380,7 @@ server.setHandler(rootContext); // Setup the GitBlit context GitBlit gitblit = GitBlit.self(); GitBlit gitblit = getGitBlitInstance(); gitblit.configureContext(settings, baseFolder, true); rootContext.addEventListener(gitblit); @@ -397,6 +399,10 @@ System.exit(100); } } protected GitBlit getGitBlitInstance() { return GitBlit.self(); } /** * Creates an http connector. @@ -405,7 +411,7 @@ * @param port * @return an http connector */ private static Connector createConnector(boolean useNIO, int port) { private Connector createConnector(boolean useNIO, int port) { Connector connector; if (useNIO) { logger.info("Setting up NIO SelectChannelConnector on port " + port); @@ -440,7 +446,7 @@ * @param requireClientCertificates * @return an https connector */ private static Connector createSSLConnector(String certAlias, File keyStore, File clientTrustStore, private Connector createSSLConnector(String certAlias, File keyStore, File clientTrustStore, String storePassword, File caRevocationList, boolean useNIO, int port, boolean requireClientCertificates) { GitblitSslContextFactory factory = new GitblitSslContextFactory(certAlias, @@ -474,7 +480,7 @@ * @param port * @return an ajp connector */ private static Connector createAJPConnector(int port) { private Connector createAJPConnector(int port) { logger.info("Setting up AJP Connector on port " + port); Ajp13SocketConnector ajp = new Ajp13SocketConnector(); ajp.setPort(port); @@ -489,7 +495,7 @@ * * @return true if this is a windows machine */ private static boolean isWindows() { private boolean isWindows() { return System.getProperty("os.name").toLowerCase().indexOf("windows") > -1; } @@ -548,7 +554,7 @@ * JCommander Parameters class for GitBlitServer. */ @Parameters(separators = " ") private static class Params { public static class Params { public static String baseFolder; tests/de/akquinet/devops/GitBlit4UITests.java
New file @@ -0,0 +1,25 @@ package de.akquinet.devops; import java.util.concurrent.TimeUnit; import com.gitblit.GitBlit; public class GitBlit4UITests extends GitBlit { private boolean luceneIndexingEnabled; public GitBlit4UITests(boolean luceneIndexingEnabled) { this.luceneIndexingEnabled = luceneIndexingEnabled; } @Override protected void enableLuceneIndexing() { if (luceneIndexingEnabled) { getScheduledExecutor().scheduleAtFixedRate(getLuceneExecutor(), 1, 2, TimeUnit.MINUTES); getLogger() .info("Lucene executor is scheduled to process indexed branches every 2 minutes."); } } } tests/de/akquinet/devops/GitBlitServer4UITests.java
New file @@ -0,0 +1,62 @@ package de.akquinet.devops; import java.util.ArrayList; import java.util.List; import com.beust.jcommander.JCommander; import com.beust.jcommander.ParameterException; import com.gitblit.GitBlit; import com.gitblit.GitBlitServer; public class GitBlitServer4UITests extends GitBlitServer { public static void main(String... args) { GitBlitServer4UITests server = new GitBlitServer4UITests(); // filter out the baseFolder parameter List<String> filtered = new ArrayList<String>(); String folder = "data"; for (int i = 0; i < args.length; i++) { String arg = args[i]; if (arg.equals("--baseFolder")) { if (i + 1 == args.length) { System.out.println("Invalid --baseFolder parameter!"); System.exit(-1); } else if (args[i + 1] != ".") { folder = args[i + 1]; } i = i + 1; } else { filtered.add(arg); } } Params.baseFolder = folder; Params params = new Params(); JCommander jc = new JCommander(params); try { jc.parse(filtered.toArray(new String[filtered.size()])); if (params.help) { server.usage(jc, null); } } catch (ParameterException t) { server.usage(jc, t); } if (params.stop) { server.stop(params); } else { server.start(params); } } private GitBlit4UITests instance; @Override protected GitBlit getGitBlitInstance() { if (instance == null) { instance = new GitBlit4UITests(false); } return instance; } } tests/de/akquinet/devops/GitblitRunnable.java
@@ -70,7 +70,7 @@ } try { GitBlitServer.main("--httpPort", "" + httpPort, "--httpsPort", "" GitBlitServer4UITests.main("--httpPort", "" + httpPort, "--httpsPort", "" + httpsPort, "--shutdownPort", "" + shutdownPort, "--repositoriesFolder", "\"" + GitBlitSuite.REPOSITORIES.getAbsolutePath() + "\"", tests/de/akquinet/devops/test/ui/TestUISuite.java
@@ -27,7 +27,7 @@ * */ @RunWith(Suite.class) @Suite.SuiteClasses({ UI_MultiAdminSupportTest.class }) @Suite.SuiteClasses({ UI_MultiAdminSupportTest.class, UI_MultiAdminSupportTest.class }) public class TestUISuite { } tests/de/akquinet/devops/test/ui/cases/UI_MultiAdminSupportTest.java
@@ -64,7 +64,7 @@ .changeAuthorizationControl(RepoEditView.AUTHCONTROL_RWALL)); // with a second admin editView.addRepoAdministrator("admin"); editView.addOwner("admin"); Assert.assertTrue(editView.save()); // user is automatically forwarded to repo list view Assert.assertTrue(view.isEmptyRepo(TEST_MULTI_ADMIN_SUPPORT_REPO_PATH)); tests/de/akquinet/devops/test/ui/view/RepoEditView.java
@@ -68,7 +68,7 @@ return false; } private void changeRepoAdministrators(String action, private void changeOwners(String action, String affectedSelection, String username) { String xpath = "//select[@name=\"" + affectedSelection + "\"]/option[@value = \"" + username + "\" ]"; @@ -79,13 +79,13 @@ button.click(); } public void removeRepoAdministrator(String username) { changeRepoAdministrators("remove", "repoAdministrators:selection", public void removeOwner(String username) { changeOwners("remove", "owners:selection", username); } public void addRepoAdministrator(String username) { changeRepoAdministrators("add", "repoAdministrators:choices", username); public void addOwner(String username) { changeOwners("add", "owners:choices", username); } public WebElement getAccessRestrictionSelection() {