From f8f6aa4d07cdfaaf23e24bf9eaf0a5fb9b437dda Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 29 Nov 2013 11:05:51 -0500
Subject: [PATCH] Update unit tests for refactored architecture
---
src/test/java/com/gitblit/tests/LuceneExecutorTest.java | 6 +-
src/main/distrib/data/groovy/sendmail-html.groovy | 6 +-
src/test/java/com/gitblit/tests/GitBlitSuite.java | 25 ++++++++----
src/test/config/test-users.conf | 4 ++
src/main/java/com/gitblit/git/GitblitReceivePack.java | 2
src/test/java/com/gitblit/tests/GitBlitTest.java | 2
src/test/java/com/gitblit/tests/GroovyScriptTest.java | 4 ++
src/test/java/com/gitblit/tests/RpcTests.java | 4 +-
src/test/java/com/gitblit/tests/GitServletTest.java | 18 +++++++--
src/main/java/com/gitblit/servlet/RpcFilter.java | 8 +---
src/test/config/test-gitblit.properties | 3 +
src/test/config/test-ui-users.conf | 6 +-
12 files changed, 55 insertions(+), 33 deletions(-)
diff --git a/src/main/distrib/data/groovy/sendmail-html.groovy b/src/main/distrib/data/groovy/sendmail-html.groovy
index 2912e56..2692556 100644
--- a/src/main/distrib/data/groovy/sendmail-html.groovy
+++ b/src/main/distrib/data/groovy/sendmail-html.groovy
@@ -500,9 +500,9 @@
mailWriter.forwardSlashChar = forwardSlashChar
mailWriter.commands = commands
mailWriter.url = url
-mailWriter.mountParameters = GitBlit.getBoolean(Keys.web.mountParameters, true)
-mailWriter.includeGravatar = GitBlit.getBoolean(Keys.web.allowGravatar, true)
-mailWriter.shortCommitIdLength = GitBlit.getInteger(Keys.web.shortCommitIdLength, 8)
+mailWriter.mountParameters = gitblit.getBoolean(Keys.web.mountParameters, true)
+mailWriter.includeGravatar = gitblit.getBoolean(Keys.web.allowGravatar, true)
+mailWriter.shortCommitIdLength = gitblit.getInteger(Keys.web.shortCommitIdLength, 8)
def content = mailWriter.write()
diff --git a/src/main/java/com/gitblit/git/GitblitReceivePack.java b/src/main/java/com/gitblit/git/GitblitReceivePack.java
index 11b1bda..95d17fa 100644
--- a/src/main/java/com/gitblit/git/GitblitReceivePack.java
+++ b/src/main/java/com/gitblit/git/GitblitReceivePack.java
@@ -103,7 +103,7 @@
this.settings = gitblit.getSettings();
this.gitblit = gitblit;
this.repository = repository;
- this.user = user == null ? UserModel.ANONYMOUS : user;
+ this.user = user;
this.groovyDir = gitblit.getHooksFolder();
try {
// set Grape root
diff --git a/src/main/java/com/gitblit/servlet/RpcFilter.java b/src/main/java/com/gitblit/servlet/RpcFilter.java
index 02f419f..6163252 100644
--- a/src/main/java/com/gitblit/servlet/RpcFilter.java
+++ b/src/main/java/com/gitblit/servlet/RpcFilter.java
@@ -27,11 +27,9 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import com.gitblit.Constants;
+import com.gitblit.Constants.RpcRequest;
import com.gitblit.IStoredSettings;
import com.gitblit.Keys;
-import com.gitblit.Constants.RpcRequest;
-import com.gitblit.Keys.web;
import com.gitblit.manager.IRuntimeManager;
import com.gitblit.manager.ISessionManager;
import com.gitblit.models.UserModel;
@@ -138,10 +136,8 @@
return;
}
// valid user, but not for requested access. send 403.
- if (runtimeManager.isDebugMode()) {
- logger.info(MessageFormat.format("RPC: {0} forbidden to access {1}",
+ logger.warn(MessageFormat.format("RPC: {0} forbidden to access {1}",
user.username, fullUrl));
- }
httpResponse.sendError(HttpServletResponse.SC_FORBIDDEN);
return;
}
diff --git a/src/test/config/test-gitblit.properties b/src/test/config/test-gitblit.properties
index 0d797b4..e636469 100644
--- a/src/test/config/test-gitblit.properties
+++ b/src/test/config/test-gitblit.properties
@@ -6,13 +6,14 @@
git.repositoriesFolder = ${baseFolder}/git
git.searchRepositoriesSubfolders = true
git.enableGitServlet = true
+git.daemonPort = 8300
groovy.scriptsFolder = src/main/distrib/data/groovy
groovy.preReceiveScripts = blockpush
groovy.postReceiveScripts = sendmail
web.authenticateViewPages = false
web.authenticateAdminPages = true
web.allowCookieAuthentication = true
-realm.userService = ${baseFolder}/src/test/config/test-users.conf
+realm.userService = src/test/config/test-users.conf
realm.passwordStorage = md5
realm.minPasswordLength = 5
web.siteName = Test Gitblit
diff --git a/src/test/config/test-ui-users.conf b/src/test/config/test-ui-users.conf
index 5bf35f3..fb23f25 100644
--- a/src/test/config/test-ui-users.conf
+++ b/src/test/config/test-ui-users.conf
@@ -4,19 +4,19 @@
role = "#admin"
role = "#notfederated"
[user "userthree"]
- password = StoredInLDAP
+ password = "#externalAccount"
cookie = d7d3894fc517612aa6c595555b6e1ab8e147e597
displayName = User Three
emailAddress = userthree@gitblit.com
role = "#admin"
[user "userone"]
- password = StoredInLDAP
+ password = "#externalAccount"
cookie = c97cd38e50858cd0b389ec61b18fb9a89b4da54c
displayName = User One
emailAddress = User.One@gitblit.com
role = "#admin"
[user "usertwo"]
- password = StoredInLDAP
+ password = "#externalAccount"
cookie = 498ca9bd2841d39050fa45d1d737b9f9f767858d
displayName = User Two
emailAddress = usertwo@gitblit.com
diff --git a/src/test/config/test-users.conf b/src/test/config/test-users.conf
index 4f94787..b665fd5 100644
--- a/src/test/config/test-users.conf
+++ b/src/test/config/test-users.conf
@@ -3,6 +3,10 @@
cookie = dd94709528bb1c83d08f3088d4043f4742891f4f
role = "#admin"
role = "#notfederated"
+[user "sampleuser"]
+ password = sampleuser
+ cookie = 6e07ed42149fc166206319faffdfba2e2ec82e43
+ role = "#none"
[team "admins"]
role = "#none"
user = admin
diff --git a/src/test/java/com/gitblit/tests/GitBlitSuite.java b/src/test/java/com/gitblit/tests/GitBlitSuite.java
index 57e94e5..7fc6fe0 100644
--- a/src/test/java/com/gitblit/tests/GitBlitSuite.java
+++ b/src/test/java/com/gitblit/tests/GitBlitSuite.java
@@ -65,6 +65,8 @@
ModelUtilsTest.class, JnaUtilsTest.class })
public class GitBlitSuite {
+ public static final File BASEFOLDER = new File("data");
+
public static final File REPOSITORIES = new File("data/git");
public static final File SETTINGS = new File("src/test/config/test-gitblit.properties");
@@ -83,30 +85,35 @@
private static AtomicBoolean started = new AtomicBoolean(false);
- public static Repository getHelloworldRepository() throws Exception {
+ public static Repository getHelloworldRepository() {
return getRepository("helloworld.git");
}
- public static Repository getTicgitRepository() throws Exception {
+ public static Repository getTicgitRepository() {
return getRepository("ticgit.git");
}
- public static Repository getJGitRepository() throws Exception {
+ public static Repository getJGitRepository() {
return getRepository("test/jgit.git");
}
- public static Repository getAmbitionRepository() throws Exception {
+ public static Repository getAmbitionRepository() {
return getRepository("test/ambition.git");
}
- public static Repository getGitectiveRepository() throws Exception {
+ public static Repository getGitectiveRepository() {
return getRepository("test/gitective.git");
}
- private static Repository getRepository(String name) throws Exception {
- File gitDir = FileKey.resolve(new File(REPOSITORIES, name), FS.DETECTED);
- Repository repository = new FileRepositoryBuilder().setGitDir(gitDir).build();
- return repository;
+ private static Repository getRepository(String name) {
+ try {
+ File gitDir = FileKey.resolve(new File(REPOSITORIES, name), FS.DETECTED);
+ Repository repository = new FileRepositoryBuilder().setGitDir(gitDir).build();
+ return repository;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
}
public static boolean startGitblit() throws Exception {
diff --git a/src/test/java/com/gitblit/tests/GitBlitTest.java b/src/test/java/com/gitblit/tests/GitBlitTest.java
index 692afb7..d391351 100644
--- a/src/test/java/com/gitblit/tests/GitBlitTest.java
+++ b/src/test/java/com/gitblit/tests/GitBlitTest.java
@@ -156,7 +156,7 @@
assertEquals(5, settings().getInteger("realm.userService", 5));
assertTrue(settings().getBoolean("git.enableGitServlet", false));
- assertEquals(GitBlitSuite.USERSCONF.getAbsolutePath(), settings().getString("realm.userService", null));
+ assertEquals("src/test/config/test-users.conf", settings().getString("realm.userService", null));
assertEquals(5, settings().getInteger("realm.minPasswordLength", 0));
List<String> mdExtensions = settings().getStrings("web.markdownExtensions");
assertTrue(mdExtensions.size() > 0);
diff --git a/src/test/java/com/gitblit/tests/GitServletTest.java b/src/test/java/com/gitblit/tests/GitServletTest.java
index b197a91..bc39288 100644
--- a/src/test/java/com/gitblit/tests/GitServletTest.java
+++ b/src/test/java/com/gitblit/tests/GitServletTest.java
@@ -624,18 +624,28 @@
private void testRefChange(AccessPermission permission, Status expectedCreate, Status expectedDelete, Status expectedRewind) throws Exception {
+ final String originName = "ticgit.git";
+ final String forkName = "refchecks/ticgit.git";
+ final String workingCopy = "refchecks/ticgit-wc";
+
+
+ // lower access restriction on origin repository
+ RepositoryModel origin = repositories().getRepositoryModel(originName);
+ origin.accessRestriction = AccessRestrictionType.NONE;
+ repositories().updateRepositoryModel(origin.name, origin, false);
+
UserModel user = getUser();
delete(user);
CredentialsProvider cp = new UsernamePasswordCredentialsProvider(user.username, user.password);
// fork from original to a temporary bare repo
- File refChecks = new File(GitBlitSuite.REPOSITORIES, "refchecks/ticgit.git");
+ File refChecks = new File(GitBlitSuite.REPOSITORIES, forkName);
if (refChecks.exists()) {
FileUtils.delete(refChecks, FileUtils.RECURSIVE);
}
CloneCommand clone = Git.cloneRepository();
- clone.setURI(MessageFormat.format("{0}/ticgit.git", url));
+ clone.setURI(url + "/" + originName);
clone.setDirectory(refChecks);
clone.setBare(true);
clone.setCloneAllBranches(true);
@@ -643,7 +653,7 @@
GitBlitSuite.close(clone.call());
// elevate repository to clone permission
- RepositoryModel model = repositories().getRepositoryModel("refchecks/ticgit.git");
+ RepositoryModel model = repositories().getRepositoryModel(forkName);
switch (permission) {
case VIEW:
model.accessRestriction = AccessRestrictionType.CLONE;
@@ -663,7 +673,7 @@
repositories().updateRepositoryModel(model.name, model, false);
// clone temp bare repo to working copy
- File local = new File(GitBlitSuite.REPOSITORIES, "refchecks/ticgit-wc");
+ File local = new File(GitBlitSuite.REPOSITORIES, workingCopy);
if (local.exists()) {
FileUtils.delete(local, FileUtils.RECURSIVE);
}
diff --git a/src/test/java/com/gitblit/tests/GroovyScriptTest.java b/src/test/java/com/gitblit/tests/GroovyScriptTest.java
index 1b5b0f3..ff40972 100644
--- a/src/test/java/com/gitblit/tests/GroovyScriptTest.java
+++ b/src/test/java/com/gitblit/tests/GroovyScriptTest.java
@@ -338,6 +338,10 @@
return dv;
}
+ public int getInteger(String key, int defaultValue) {
+ return defaultValue;
+ }
+
public void sendMail(String subject, String message, Collection<String> toAddresses) {
messages.add(new MockMail(subject, message, toAddresses));
}
diff --git a/src/test/java/com/gitblit/tests/LuceneExecutorTest.java b/src/test/java/com/gitblit/tests/LuceneExecutorTest.java
index 8ffe846..319c09c 100644
--- a/src/test/java/com/gitblit/tests/LuceneExecutorTest.java
+++ b/src/test/java/com/gitblit/tests/LuceneExecutorTest.java
@@ -48,8 +48,8 @@
private LuceneService newLuceneExecutor() {
MemorySettings settings = new MemorySettings();
settings.put(Keys.git.repositoriesFolder, GitBlitSuite.REPOSITORIES);
- RuntimeManager runtime = new RuntimeManager(settings);
- UserManager users = new UserManager(runtime);
+ RuntimeManager runtime = new RuntimeManager(settings, GitBlitSuite.BASEFOLDER).start();
+ UserManager users = new UserManager(runtime).start();
RepositoryManager repos = new RepositoryManager(runtime, users);
return new LuceneService(settings, repos);
}
@@ -78,7 +78,7 @@
}
@Test
- public void testIndex() throws Exception {
+ public void testIndex() {
// reindex helloworld
Repository repository = GitBlitSuite.getHelloworldRepository();
RepositoryModel model = newRepositoryModel(repository);
diff --git a/src/test/java/com/gitblit/tests/RpcTests.java b/src/test/java/com/gitblit/tests/RpcTests.java
index e1ba907..ced1a13 100644
--- a/src/test/java/com/gitblit/tests/RpcTests.java
+++ b/src/test/java/com/gitblit/tests/RpcTests.java
@@ -32,7 +32,7 @@
import com.gitblit.Constants.AuthorizationControl;
import com.gitblit.Constants.PermissionType;
import com.gitblit.Constants.RegistrantType;
-import com.gitblit.GitBlitException.NotAllowedException;
+import com.gitblit.GitBlitException.ForbiddenException;
import com.gitblit.GitBlitException.UnauthorizedException;
import com.gitblit.Keys;
import com.gitblit.models.FederationModel;
@@ -104,7 +104,7 @@
UserModel user = null;
try {
user = RpcUtils.getUser("admin", url, null, null);
- } catch (NotAllowedException e) {
+ } catch (ForbiddenException e) {
}
assertNull("Server allows anyone to get user!", user);
--
Gitblit v1.9.1