summaryrefslogtreecommitdiffstats
path: root/src/test/java/com/gitblit
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/gitblit')
-rw-r--r--src/test/java/com/gitblit/tests/AuthenticationManagerTest.java2
-rw-r--r--src/test/java/com/gitblit/tests/BranchTicketServiceTest.java4
-rw-r--r--src/test/java/com/gitblit/tests/FileTicketServiceTest.java4
-rw-r--r--src/test/java/com/gitblit/tests/HtpasswdAuthenticationTest.java8
-rw-r--r--src/test/java/com/gitblit/tests/LdapAuthenticationTest.java10
-rw-r--r--src/test/java/com/gitblit/tests/LuceneExecutorTest.java4
-rw-r--r--src/test/java/com/gitblit/tests/RedisTicketServiceTest.java4
-rw-r--r--src/test/java/com/gitblit/tests/RedmineAuthenticationTest.java6
-rw-r--r--src/test/java/com/gitblit/tests/RpcTests.java63
-rw-r--r--src/test/java/com/gitblit/tests/SyndicationUtilsTest.java36
-rw-r--r--src/test/java/com/gitblit/tests/TicketServiceTest.java5
-rw-r--r--src/test/java/com/gitblit/tests/mock/MockRuntimeManager.java15
12 files changed, 138 insertions, 23 deletions
diff --git a/src/test/java/com/gitblit/tests/AuthenticationManagerTest.java b/src/test/java/com/gitblit/tests/AuthenticationManagerTest.java
index 84a2b749..f1d2711e 100644
--- a/src/test/java/com/gitblit/tests/AuthenticationManagerTest.java
+++ b/src/test/java/com/gitblit/tests/AuthenticationManagerTest.java
@@ -43,7 +43,7 @@ public class AuthenticationManagerTest extends GitblitUnitTest {
IAuthenticationManager newAuthenticationManager() {
RuntimeManager runtime = new RuntimeManager(getSettings(), GitBlitSuite.BASEFOLDER).start();
- users = new UserManager(runtime).start();
+ users = new UserManager(runtime, null).start();
AuthenticationManager auth = new AuthenticationManager(runtime, users).start();
return auth;
}
diff --git a/src/test/java/com/gitblit/tests/BranchTicketServiceTest.java b/src/test/java/com/gitblit/tests/BranchTicketServiceTest.java
index 6119b8db..cc404abf 100644
--- a/src/test/java/com/gitblit/tests/BranchTicketServiceTest.java
+++ b/src/test/java/com/gitblit/tests/BranchTicketServiceTest.java
@@ -54,8 +54,8 @@ public class BranchTicketServiceTest extends TicketServiceTest {
IRuntimeManager runtimeManager = new RuntimeManager(settings).start();
IPluginManager pluginManager = new PluginManager(runtimeManager).start();
INotificationManager notificationManager = new NotificationManager(settings).start();
- IUserManager userManager = new UserManager(runtimeManager).start();
- IRepositoryManager repositoryManager = new RepositoryManager(runtimeManager, userManager).start();
+ IUserManager userManager = new UserManager(runtimeManager, pluginManager).start();
+ IRepositoryManager repositoryManager = new RepositoryManager(runtimeManager, pluginManager, userManager).start();
BranchTicketService service = new BranchTicketService(
runtimeManager,
diff --git a/src/test/java/com/gitblit/tests/FileTicketServiceTest.java b/src/test/java/com/gitblit/tests/FileTicketServiceTest.java
index 20cde26b..6ede042a 100644
--- a/src/test/java/com/gitblit/tests/FileTicketServiceTest.java
+++ b/src/test/java/com/gitblit/tests/FileTicketServiceTest.java
@@ -53,8 +53,8 @@ public class FileTicketServiceTest extends TicketServiceTest {
IRuntimeManager runtimeManager = new RuntimeManager(settings).start();
IPluginManager pluginManager = new PluginManager(runtimeManager).start();
INotificationManager notificationManager = new NotificationManager(settings).start();
- IUserManager userManager = new UserManager(runtimeManager).start();
- IRepositoryManager repositoryManager = new RepositoryManager(runtimeManager, userManager).start();
+ IUserManager userManager = new UserManager(runtimeManager, pluginManager).start();
+ IRepositoryManager repositoryManager = new RepositoryManager(runtimeManager, pluginManager, userManager).start();
FileTicketService service = new FileTicketService(
runtimeManager,
diff --git a/src/test/java/com/gitblit/tests/HtpasswdAuthenticationTest.java b/src/test/java/com/gitblit/tests/HtpasswdAuthenticationTest.java
index 4e1c3ac1..f4e24d4e 100644
--- a/src/test/java/com/gitblit/tests/HtpasswdAuthenticationTest.java
+++ b/src/test/java/com/gitblit/tests/HtpasswdAuthenticationTest.java
@@ -75,15 +75,15 @@ public class HtpasswdAuthenticationTest extends GitblitUnitTest {
private HtpasswdAuthProvider newHtpasswdAuthentication(IStoredSettings settings) {
RuntimeManager runtime = new RuntimeManager(settings, GitBlitSuite.BASEFOLDER).start();
- UserManager users = new UserManager(runtime).start();
+ UserManager users = new UserManager(runtime, null).start();
HtpasswdAuthProvider htpasswd = new HtpasswdAuthProvider();
htpasswd.setup(runtime, users);
return htpasswd;
}
-
+
private AuthenticationManager newAuthenticationManager(IStoredSettings settings) {
RuntimeManager runtime = new RuntimeManager(settings, GitBlitSuite.BASEFOLDER).start();
- UserManager users = new UserManager(runtime).start();
+ UserManager users = new UserManager(runtime, null).start();
HtpasswdAuthProvider htpasswd = new HtpasswdAuthProvider();
htpasswd.setup(runtime, users);
AuthenticationManager auth = new AuthenticationManager(runtime, users);
@@ -191,7 +191,7 @@ public class HtpasswdAuthenticationTest extends GitblitUnitTest {
assertEquals("leading", user.username);
}
-
+
@Test
public void testAuthenticationManager()
{
diff --git a/src/test/java/com/gitblit/tests/LdapAuthenticationTest.java b/src/test/java/com/gitblit/tests/LdapAuthenticationTest.java
index 21063d58..646f7e9f 100644
--- a/src/test/java/com/gitblit/tests/LdapAuthenticationTest.java
+++ b/src/test/java/com/gitblit/tests/LdapAuthenticationTest.java
@@ -68,7 +68,7 @@ public class LdapAuthenticationTest extends GitblitUnitTest {
private static InMemoryDirectoryServer ds;
private IUserManager userManager;
-
+
private AuthenticationManager auth;
private MemorySettings settings;
@@ -97,12 +97,12 @@ public class LdapAuthenticationTest extends GitblitUnitTest {
private LdapAuthProvider newLdapAuthentication(IStoredSettings settings) {
RuntimeManager runtime = new RuntimeManager(settings, GitBlitSuite.BASEFOLDER).start();
- userManager = new UserManager(runtime).start();
+ userManager = new UserManager(runtime, null).start();
LdapAuthProvider ldap = new LdapAuthProvider();
ldap.setup(runtime, userManager);
return ldap;
}
-
+
private AuthenticationManager newAuthenticationManager(IStoredSettings settings) {
RuntimeManager runtime = new RuntimeManager(settings, GitBlitSuite.BASEFOLDER).start();
AuthenticationManager auth = new AuthenticationManager(runtime, userManager);
@@ -258,7 +258,7 @@ public class LdapAuthenticationTest extends GitblitUnitTest {
assertNull(userThreeModel.getTeam("git_admins"));
assertTrue(userThreeModel.canAdmin);
}
-
+
@Test
public void testBindWithUser() {
settings.put(Keys.realm.ldap.bindpattern, "CN=${username},OU=US,OU=Users,OU=UserControl,OU=MyOrganization,DC=MyDomain");
@@ -267,7 +267,7 @@ public class LdapAuthenticationTest extends GitblitUnitTest {
UserModel userOneModel = auth.authenticate("UserOne", "userOnePassword".toCharArray());
assertNotNull(userOneModel);
-
+
UserModel userOneModelFailedAuth = auth.authenticate("UserOne", "userTwoPassword".toCharArray());
assertNull(userOneModelFailedAuth);
}
diff --git a/src/test/java/com/gitblit/tests/LuceneExecutorTest.java b/src/test/java/com/gitblit/tests/LuceneExecutorTest.java
index 319c09c1..5c319e65 100644
--- a/src/test/java/com/gitblit/tests/LuceneExecutorTest.java
+++ b/src/test/java/com/gitblit/tests/LuceneExecutorTest.java
@@ -49,8 +49,8 @@ public class LuceneExecutorTest extends GitblitUnitTest {
MemorySettings settings = new MemorySettings();
settings.put(Keys.git.repositoriesFolder, GitBlitSuite.REPOSITORIES);
RuntimeManager runtime = new RuntimeManager(settings, GitBlitSuite.BASEFOLDER).start();
- UserManager users = new UserManager(runtime).start();
- RepositoryManager repos = new RepositoryManager(runtime, users);
+ UserManager users = new UserManager(runtime, null).start();
+ RepositoryManager repos = new RepositoryManager(runtime, null, users);
return new LuceneService(settings, repos);
}
diff --git a/src/test/java/com/gitblit/tests/RedisTicketServiceTest.java b/src/test/java/com/gitblit/tests/RedisTicketServiceTest.java
index 94391a15..b782b449 100644
--- a/src/test/java/com/gitblit/tests/RedisTicketServiceTest.java
+++ b/src/test/java/com/gitblit/tests/RedisTicketServiceTest.java
@@ -61,8 +61,8 @@ public class RedisTicketServiceTest extends TicketServiceTest {
IRuntimeManager runtimeManager = new RuntimeManager(settings).start();
IPluginManager pluginManager = new PluginManager(runtimeManager).start();
INotificationManager notificationManager = new NotificationManager(settings).start();
- IUserManager userManager = new UserManager(runtimeManager).start();
- IRepositoryManager repositoryManager = new RepositoryManager(runtimeManager, userManager).start();
+ IUserManager userManager = new UserManager(runtimeManager, pluginManager).start();
+ IRepositoryManager repositoryManager = new RepositoryManager(runtimeManager, pluginManager, userManager).start();
RedisTicketService service = new RedisTicketService(
runtimeManager,
diff --git a/src/test/java/com/gitblit/tests/RedmineAuthenticationTest.java b/src/test/java/com/gitblit/tests/RedmineAuthenticationTest.java
index 6ede8313..3b6b7bba 100644
--- a/src/test/java/com/gitblit/tests/RedmineAuthenticationTest.java
+++ b/src/test/java/com/gitblit/tests/RedmineAuthenticationTest.java
@@ -26,7 +26,7 @@ public class RedmineAuthenticationTest extends GitblitUnitTest {
RedmineAuthProvider newRedmineAuthentication(IStoredSettings settings) {
RuntimeManager runtime = new RuntimeManager(settings, GitBlitSuite.BASEFOLDER).start();
- UserManager users = new UserManager(runtime).start();
+ UserManager users = new UserManager(runtime, null).start();
RedmineAuthProvider redmine = new RedmineAuthProvider();
redmine.setup(runtime, users);
return redmine;
@@ -35,10 +35,10 @@ public class RedmineAuthenticationTest extends GitblitUnitTest {
RedmineAuthProvider newRedmineAuthentication() {
return newRedmineAuthentication(getSettings());
}
-
+
AuthenticationManager newAuthenticationManager() {
RuntimeManager runtime = new RuntimeManager(getSettings(), GitBlitSuite.BASEFOLDER).start();
- UserManager users = new UserManager(runtime).start();
+ UserManager users = new UserManager(runtime, null).start();
RedmineAuthProvider redmine = new RedmineAuthProvider();
redmine.setup(runtime, users);
redmine.setTestingCurrentUserAsJson(JSON);
diff --git a/src/test/java/com/gitblit/tests/RpcTests.java b/src/test/java/com/gitblit/tests/RpcTests.java
index ced1a130..51b4671b 100644
--- a/src/test/java/com/gitblit/tests/RpcTests.java
+++ b/src/test/java/com/gitblit/tests/RpcTests.java
@@ -397,4 +397,67 @@ public class RpcTests extends GitblitUnitTest {
assertNotNull(branches);
assertTrue(branches.size() > 0);
}
+
+ @Test
+ public void testFork() throws Exception {
+ // test forking by an administrator
+ // admins are all-powerful and can fork the unforakable :)
+ testFork(account, password, true, true);
+ testFork(account, password, false, true);
+
+ // test forking by a permitted normal user
+ UserModel forkUser = new UserModel("forkuser");
+ forkUser.password = forkUser.username;
+ forkUser.canFork = true;
+ RpcUtils.deleteUser(forkUser, url, account, password.toCharArray());
+ RpcUtils.createUser(forkUser, url, account, password.toCharArray());
+ testFork(forkUser.username, forkUser.password, true, true);
+ testFork(forkUser.username, forkUser.password, false, false);
+ RpcUtils.deleteUser(forkUser, url, account, password.toCharArray());
+
+ // test forking by a non-permitted normal user
+ UserModel noForkUser = new UserModel("noforkuser");
+ noForkUser.password = noForkUser.username;
+ noForkUser.canFork = false;
+ RpcUtils.deleteUser(noForkUser, url, account, password.toCharArray());
+ RpcUtils.createUser(noForkUser, url, account, password.toCharArray());
+ testFork(forkUser.username, forkUser.password, true, false);
+ testFork(forkUser.username, forkUser.password, false, false);
+ RpcUtils.deleteUser(noForkUser, url, account, password.toCharArray());
+ }
+
+ private void testFork(String forkAcct, String forkAcctPassword, boolean allowForks, boolean expectSuccess) throws Exception {
+ // test does not exist
+ RepositoryModel dne = new RepositoryModel();
+ dne.name = "doesNotExist.git";
+ assertFalse(String.format("Successfully forked %s!", dne.name),
+ RpcUtils.forkRepository(dne, url, forkAcct, forkAcctPassword.toCharArray()));
+
+ // delete any previous fork
+ RepositoryModel fork = findRepository(String.format("~%s/helloworld.git", forkAcct));
+ if (fork != null) {
+ RpcUtils.deleteRepository(fork, url, account, password.toCharArray());
+ }
+
+ // update the origin to allow forks or not
+ RepositoryModel origin = findRepository("helloworld.git");
+ origin.allowForks = allowForks;
+ RpcUtils.updateRepository(origin.name, origin, url, account, password.toCharArray());
+
+ // fork the repository
+ if (expectSuccess) {
+ assertTrue(String.format("Failed to fork %s!", origin.name),
+ RpcUtils.forkRepository(origin, url, forkAcct, forkAcctPassword.toCharArray()));
+ } else {
+ assertFalse(String.format("Successfully forked %s!", origin.name),
+ RpcUtils.forkRepository(origin, url, forkAcct, forkAcctPassword.toCharArray()));
+ }
+
+ // attempt another fork
+ assertFalse(String.format("Successfully forked %s!", origin.name),
+ RpcUtils.forkRepository(origin, url, forkAcct, forkAcctPassword.toCharArray()));
+
+ // delete the fork repository
+ RpcUtils.deleteRepository(fork, url, account, password.toCharArray());
+ }
}
diff --git a/src/test/java/com/gitblit/tests/SyndicationUtilsTest.java b/src/test/java/com/gitblit/tests/SyndicationUtilsTest.java
index d206bbdb..b4bb044f 100644
--- a/src/test/java/com/gitblit/tests/SyndicationUtilsTest.java
+++ b/src/test/java/com/gitblit/tests/SyndicationUtilsTest.java
@@ -21,7 +21,10 @@ import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import java.util.concurrent.atomic.AtomicBoolean;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
import org.junit.Test;
import com.gitblit.Constants.SearchType;
@@ -30,6 +33,20 @@ import com.gitblit.utils.SyndicationUtils;
public class SyndicationUtilsTest extends GitblitUnitTest {
+ private static final AtomicBoolean started = new AtomicBoolean(false);
+
+ @BeforeClass
+ public static void startGitblit() throws Exception {
+ started.set(GitBlitSuite.startGitblit());
+ }
+
+ @AfterClass
+ public static void stopGitblit() throws Exception {
+ if (started.get()) {
+ GitBlitSuite.stopGitblit();
+ }
+ }
+
@Test
public void testSyndication() throws Exception {
List<FeedEntryModel> entries = new ArrayList<FeedEntryModel>();
@@ -60,7 +77,7 @@ public class SyndicationUtilsTest extends GitblitUnitTest {
}
@Test
- public void testFeedRead() throws Exception {
+ public void testFeedReadCommits() throws Exception {
Set<String> links = new HashSet<String>();
for (int i = 0; i < 2; i++) {
List<FeedEntryModel> feed = SyndicationUtils.readFeed(GitBlitSuite.url, "ticgit.git",
@@ -77,6 +94,23 @@ public class SyndicationUtilsTest extends GitblitUnitTest {
}
@Test
+ public void testFeedReadTags() throws Exception {
+ Set<String> links = new HashSet<String>();
+ for (int i = 0; i < 2; i++) {
+ List<FeedEntryModel> feed = SyndicationUtils.readTags(GitBlitSuite.url, "test/gitective.git",
+ 5, i, GitBlitSuite.account, GitBlitSuite.password.toCharArray());
+ assertTrue(feed != null);
+ assertTrue(feed.size() > 0);
+ assertEquals(5, feed.size());
+ for (FeedEntryModel entry : feed) {
+ links.add(entry.link);
+ }
+ }
+ // confirm we have 10 unique tags
+ assertEquals("Feed pagination failed", 10, links.size());
+ }
+
+ @Test
public void testSearchFeedRead() throws Exception {
List<FeedEntryModel> feed = SyndicationUtils
.readSearchFeed(GitBlitSuite.url, "ticgit.git", null, "test", null, 5, 0,
diff --git a/src/test/java/com/gitblit/tests/TicketServiceTest.java b/src/test/java/com/gitblit/tests/TicketServiceTest.java
index d91ce533..1676e341 100644
--- a/src/test/java/com/gitblit/tests/TicketServiceTest.java
+++ b/src/test/java/com/gitblit/tests/TicketServiceTest.java
@@ -95,7 +95,7 @@ public abstract class TicketServiceTest extends GitblitUnitTest {
// query non-existent ticket
TicketModel nonExistent = service.getTicket(getRepository(), 0);
assertNull(nonExistent);
-
+
// create and insert a ticket
Change c1 = newChange("testCreation() " + Long.toHexString(System.currentTimeMillis()));
TicketModel ticket = service.createTicket(getRepository(), c1);
@@ -205,6 +205,9 @@ public abstract class TicketServiceTest extends GitblitUnitTest {
assertEquals(1, results.size());
assertTrue(results.get(0).title.startsWith("testUpdates"));
+ // check the ids
+ assertEquals("[1, 2]", service.getIds(getRepository()).toString());
+
// delete all tickets
for (TicketModel aTicket : allTickets) {
assertTrue(service.deleteTicket(getRepository(), aTicket.number, "D"));
diff --git a/src/test/java/com/gitblit/tests/mock/MockRuntimeManager.java b/src/test/java/com/gitblit/tests/mock/MockRuntimeManager.java
index 6e56a873..54be539f 100644
--- a/src/test/java/com/gitblit/tests/mock/MockRuntimeManager.java
+++ b/src/test/java/com/gitblit/tests/mock/MockRuntimeManager.java
@@ -82,6 +82,21 @@ public class MockRuntimeManager implements IRuntimeManager {
}
@Override
+ public boolean isServingHTTP() {
+ return true;
+ }
+
+ @Override
+ public boolean isServingGIT() {
+ return true;
+ }
+
+ @Override
+ public boolean isServingSSH() {
+ return true;
+ }
+
+ @Override
public boolean isDebugMode() {
return true;
}