diff options
author | James Moger <james.moger@gitblit.com> | 2011-12-07 19:14:34 -0500 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2011-12-07 19:14:34 -0500 |
commit | 7e8873a14ccc2cb25213489d7d7ba97f09673831 (patch) | |
tree | 04642e587f8c8e90dca870edfe82e9d6cf1cb89a | |
parent | 93f4729cdfc856d2a3b155bcf3e97f85b47ce760 (diff) | |
download | gitblit-7e8873a14ccc2cb25213489d7d7ba97f09673831.tar.gz gitblit-7e8873a14ccc2cb25213489d7d7ba97f09673831.zip |
Unit testing overhaul.
Migrated to JUnit4-style tests.
Replaced assertTrue with assertEquals where appropriate.
Start Gitblit instance with dedicated unit testing settings file and
user service.
Integrated RPC, Federation, and Git servlet unit tests into suite.
24 files changed, 567 insertions, 321 deletions
diff --git a/src/com/gitblit/GitBlitServer.java b/src/com/gitblit/GitBlitServer.java index 5de2265e..fd9135fd 100644 --- a/src/com/gitblit/GitBlitServer.java +++ b/src/com/gitblit/GitBlitServer.java @@ -130,6 +130,11 @@ public class GitBlitServer { */
private static void start(Params params) {
FileSettings settings = Params.FILESETTINGS;
+ if (!StringUtils.isEmpty(params.settingsfile)) {
+ if (new File(params.settingsfile).exists()) {
+ settings = new FileSettings(params.settingsfile);
+ }
+ }
logger = LoggerFactory.getLogger(GitBlitServer.class);
logger.info(Constants.BORDER);
@@ -462,5 +467,11 @@ public class GitBlitServer { @Parameter(names = "--shutdownPort", description = "Port for Shutdown Monitor to listen on. (port <= 0 will disable this monitor)")
public Integer shutdownPort = FILESETTINGS.getInteger(Keys.server.shutdownPort, 8081);
+ /*
+ * Setting overrides
+ */
+ @Parameter(names = { "--settings" }, description = "Path to alternative settings")
+ public String settingsfile;
+
}
}
\ No newline at end of file diff --git a/test-gitblit.properties b/test-gitblit.properties new file mode 100644 index 00000000..22556a2f --- /dev/null +++ b/test-gitblit.properties @@ -0,0 +1,84 @@ +# +# Gitblit Unit Testing properties +# + +git.repositoriesFolder = git +git.searchRepositoriesSubfolders = true +git.enableGitServlet = true +web.authenticateViewPages = false +web.authenticateAdminPages = true +web.allowCookieAuthentication = true +realm.userService = test-users.conf +realm.passwordStorage = md5 +realm.minPasswordLength = 5 +web.siteName = +web.allowAdministration = true +web.enableRpcServlet = true +web.enableRpcManagement = true +web.enableRpcAdministration = true +web.allowGravatar = true +web.allowZipDownloads = true +web.syndicationEntries = 25 +web.showRepositorySizes = true +web.showFederationRegistrations = false +web.loginMessage = gitblit +web.repositoriesMessage = gitblit +web.useClientTimezone = false +web.timeFormat = HH:mm +web.datestampShortFormat = yyyy-MM-dd +web.datestampLongFormat = EEEE, MMMM d, yyyy +web.datetimestampLongFormat = EEEE, MMMM d, yyyy h:mm a z +web.mountParameters = true +web.forwardSlashCharacter = / +web.otherUrls = +web.repositoryListType = grouped +web.repositoryRootGroupName = main +web.repositoryListSwatches = true +web.diffStyle = gitblit +web.showEmailAddresses = true +web.showSearchTypeSelection = false +web.generateActivityGraph = true +web.activityDuration = 14 +web.summaryCommitCount = 16 +web.summaryRefsCount = 5 +web.itemsPerPage = 50 +web.prettyPrintExtensions = c cpp cs css htm html java js php pl prefs properties py rb sh sql xml vb +web.markdownExtensions = md mkd markdown MD MKD +web.imageExtensions = bmp jpg gif png +web.binaryExtensions = jar pdf tar.gz zip +web.aggressiveHeapManagement = false +web.debugMode = false +regex.global = true +regex.global.bug = \\b(Bug:)(\\s*[#]?|-){0,1}(\\d+)\\b!!!<a href="http://somehost/bug/$3">Bug-Id: $3</a> +regex.global.changeid = \\b(Change-Id:\\s*)([A-Za-z0-9]*)\\b!!!<a href="http://somehost/changeid/$2">Change-Id: $2</a> +regex.myrepository.bug = \\b(Bug:)(\\s*[#]?|-){0,1}(\\d+)\\b!!!<a href="http://elsewhere/bug/$3">Bug-Id: $3</a> +mail.server = +mail.port = 25 +mail.debug = false +mail.username = +mail.password = +mail.fromAddress = +mail.adminAddresses = +federation.name = Unit Test +federation.passphrase = Unit Testing +federation.allowProposals = false +federation.proposalsFolder = proposals +federation.defaultFrequency = 60 mins +federation.sets = animal mineral vegetable +federation.example1.url = https://go.gitblit.com +federation.example1.token = 6f3b8a24bf970f17289b234284c94f43eb42f0e4 +federation.example1.frequency = 120 mins +federation.example1.folder = +federation.example1.bare = true +federation.example1.mirror = true +federation.example1.mergeAccounts = true + +server.tempFolder = temp +server.useNio = true +server.contextPath = / +server.httpPort = 0 +server.httpsPort = 8443 +server.httpBindInterface = localhost +server.httpsBindInterface = localhost +server.storePassword = gitblit +server.shutdownPort = 8081 diff --git a/test-users.conf b/test-users.conf new file mode 100644 index 00000000..70e9a871 --- /dev/null +++ b/test-users.conf @@ -0,0 +1,6 @@ +[user "admin"] + password = admin + role = "#admin" + role = "#notfederated" +[team "admins"] + user = admin diff --git a/tests/com/gitblit/tests/ActivityTest.java b/tests/com/gitblit/tests/ActivityTest.java index b7e5f7a1..22713260 100644 --- a/tests/com/gitblit/tests/ActivityTest.java +++ b/tests/com/gitblit/tests/ActivityTest.java @@ -15,15 +15,18 @@ */
package com.gitblit.tests;
+import static org.junit.Assert.assertEquals;
+
import java.io.IOException;
-import junit.framework.TestCase;
+import org.junit.Test;
import com.gitblit.models.GravatarProfile;
import com.gitblit.utils.ActivityUtils;
-public class ActivityTest extends TestCase {
+public class ActivityTest {
+ @Test
public void testGravatarProfile() throws IOException {
GravatarProfile profile = ActivityUtils.getGravatarProfile("beau@dentedreality.com.au");
assertEquals("beau", profile.preferredUsername);
diff --git a/tests/com/gitblit/tests/Base64Test.java b/tests/com/gitblit/tests/Base64Test.java index 31277362..2962c36f 100644 --- a/tests/com/gitblit/tests/Base64Test.java +++ b/tests/com/gitblit/tests/Base64Test.java @@ -15,14 +15,17 @@ */
package com.gitblit.tests;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
import com.gitblit.utils.Base64;
-public class Base64Test extends TestCase {
+public class Base64Test {
+ @Test
public void testBase64() {
- String source = "this is a test";
+ String source = "this is a test";
String base64 = Base64.encodeBytes(source.getBytes());
assertEquals("dGhpcyBpcyBhIHRlc3Q=", base64);
String decoded = new String(Base64.decode(base64));
diff --git a/tests/com/gitblit/tests/ByteFormatTest.java b/tests/com/gitblit/tests/ByteFormatTest.java index 43fee350..d59055e7 100644 --- a/tests/com/gitblit/tests/ByteFormatTest.java +++ b/tests/com/gitblit/tests/ByteFormatTest.java @@ -15,19 +15,22 @@ */
package com.gitblit.tests;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
import com.gitblit.utils.ByteFormat;
-public class ByteFormatTest extends TestCase {
+public class ByteFormatTest {
+ @Test
public void testByteFormat() throws Exception {
ByteFormat format = new ByteFormat();
- assertTrue(format.format(10).equals("10 b"));
- assertTrue(format.format(1024 * 10).equals("10 KB"));
- assertTrue(format.format(1024 * 1000).equals("1,000 KB"));
- assertTrue(format.format(2 * 1024 * 1000).equals("2.0 MB"));
- assertTrue(format.format(1024 * 1024 * 1000).equals("1,000.0 MB"));
- assertTrue(format.format(2 * 1024 * 1024 * 1000).equals("2.0 GB"));
+ assertEquals("10 b", format.format(10));
+ assertEquals("10 KB", format.format(1024 * 10));
+ assertEquals("1,000 KB", format.format(1024 * 1000));
+ assertEquals("2.0 MB", format.format(2 * 1024 * 1000));
+ assertEquals("1,000.0 MB", format.format(1024 * 1024 * 1000));
+ assertEquals("2.0 GB", format.format(2 * 1024 * 1024 * 1000));
}
}
diff --git a/tests/com/gitblit/tests/DiffUtilsTest.java b/tests/com/gitblit/tests/DiffUtilsTest.java index ff6f2328..53eff313 100644 --- a/tests/com/gitblit/tests/DiffUtilsTest.java +++ b/tests/com/gitblit/tests/DiffUtilsTest.java @@ -15,27 +15,31 @@ */
package com.gitblit.tests;
-import java.util.List;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
-import junit.framework.TestCase;
+import java.util.List;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.revwalk.RevCommit;
+import org.junit.Test;
import com.gitblit.models.AnnotatedLine;
import com.gitblit.utils.DiffUtils;
import com.gitblit.utils.DiffUtils.DiffOutputType;
import com.gitblit.utils.JGitUtils;
-public class DiffUtilsTest extends TestCase {
+public class DiffUtilsTest {
+ @Test
public void testDiffOutputTypes() throws Exception {
- assertTrue(DiffOutputType.forName("plain").equals(DiffOutputType.PLAIN));
- assertTrue(DiffOutputType.forName("gitweb").equals(DiffOutputType.GITWEB));
- assertTrue(DiffOutputType.forName("gitblit").equals(DiffOutputType.GITBLIT));
- assertTrue(DiffOutputType.forName(null) == null);
+ assertEquals(DiffOutputType.PLAIN, DiffOutputType.forName("plain"));
+ assertEquals(DiffOutputType.GITWEB, DiffOutputType.forName("gitweb"));
+ assertEquals(DiffOutputType.GITBLIT, DiffOutputType.forName("gitblit"));
+ assertEquals(null, DiffOutputType.forName(null));
}
+ @Test
public void testParentCommitDiff() throws Exception {
Repository repository = GitBlitSuite.getHelloworldRepository();
RevCommit commit = JGitUtils.getCommit(repository,
@@ -47,6 +51,7 @@ public class DiffUtilsTest extends TestCase { assertTrue(diff.indexOf(expected) > -1);
}
+ @Test
public void testArbitraryCommitDiff() throws Exception {
Repository repository = GitBlitSuite.getHelloworldRepository();
RevCommit baseCommit = JGitUtils.getCommit(repository,
@@ -60,6 +65,7 @@ public class DiffUtilsTest extends TestCase { assertTrue(diff.indexOf(expected) > -1);
}
+ @Test
public void testPlainFileDiff() throws Exception {
Repository repository = GitBlitSuite.getHelloworldRepository();
RevCommit commit = JGitUtils.getCommit(repository,
@@ -71,6 +77,7 @@ public class DiffUtilsTest extends TestCase { assertTrue(diff.indexOf(expected) > -1);
}
+ @Test
public void testFilePatch() throws Exception {
Repository repository = GitBlitSuite.getHelloworldRepository();
RevCommit commit = JGitUtils.getCommit(repository,
@@ -82,6 +89,7 @@ public class DiffUtilsTest extends TestCase { assertTrue(patch.indexOf(expected) > -1);
}
+ @Test
public void testArbitraryFilePatch() throws Exception {
Repository repository = GitBlitSuite.getHelloworldRepository();
RevCommit baseCommit = JGitUtils.getCommit(repository,
@@ -95,6 +103,7 @@ public class DiffUtilsTest extends TestCase { assertTrue(patch.indexOf(expected) > -1);
}
+ @Test
public void testArbitraryCommitPatch() throws Exception {
Repository repository = GitBlitSuite.getHelloworldRepository();
RevCommit baseCommit = JGitUtils.getCommit(repository,
@@ -108,12 +117,13 @@ public class DiffUtilsTest extends TestCase { assertTrue(patch.indexOf(expected) > -1);
}
+ @Test
public void testBlame() throws Exception {
Repository repository = GitBlitSuite.getHelloworldRepository();
List<AnnotatedLine> lines = DiffUtils.blame(repository, "java.java",
"1d0c2933a4ae69c362f76797d42d6bd182d05176");
repository.close();
assertTrue(lines.size() > 0);
- assertTrue(lines.get(0).commitId.equals("c6d31dccf5cc75e8e46299fc62d38f60ec6d41e0"));
+ assertEquals("c6d31dccf5cc75e8e46299fc62d38f60ec6d41e0", lines.get(0).commitId);
}
}
diff --git a/tests/com/gitblit/tests/FederationTests.java b/tests/com/gitblit/tests/FederationTests.java index e81867b9..ed65100d 100644 --- a/tests/com/gitblit/tests/FederationTests.java +++ b/tests/com/gitblit/tests/FederationTests.java @@ -15,55 +15,48 @@ */
package com.gitblit.tests;
+import static org.junit.Assert.assertEquals;
+
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
-import java.util.concurrent.Executors;
+import java.util.concurrent.atomic.AtomicBoolean;
-import junit.framework.TestCase;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
import com.gitblit.Constants.AccessRestrictionType;
import com.gitblit.Constants.FederationProposalResult;
import com.gitblit.Constants.FederationRequest;
import com.gitblit.Constants.FederationToken;
-import com.gitblit.GitBlitServer;
import com.gitblit.models.FederationProposal;
import com.gitblit.models.RepositoryModel;
import com.gitblit.utils.FederationUtils;
import com.gitblit.utils.JsonUtils;
-public class FederationTests extends TestCase {
-
- int port = 8180;
+public class FederationTests {
- int shutdownPort = 8181;
+ String url = GitBlitSuite.url;
+ String account = GitBlitSuite.account;
+ String password = GitBlitSuite.password;
- @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.conf");
- }
- });
+ private static final AtomicBoolean started = new AtomicBoolean(false);
- // Wait a few seconds for it to be running
- Thread.sleep(2500);
+ @BeforeClass
+ public static void startGitblit() throws Exception {
+ started.set(GitBlitSuite.startGitblit());
}
- @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);
+ @AfterClass
+ public static void stopGitblit() throws Exception {
+ if (started.get()) {
+ GitBlitSuite.stopGitblit();
+ }
}
+ @Test
public void testProposal() throws Exception {
// create dummy repository data
Map<String, RepositoryModel> repositories = new HashMap<String, RepositoryModel>();
@@ -83,16 +76,16 @@ public class FederationTests extends TestCase { "testtoken", repositories);
// propose federation
- assertEquals("proposal refused",
- FederationUtils.propose("http://localhost:" + port, proposal),
+ assertEquals("proposal refused", FederationUtils.propose(url, proposal),
FederationProposalResult.NO_PROPOSALS);
}
+ @Test
public void testPullRepositories() throws Exception {
try {
- String url = FederationUtils.asLink("http://localhost:" + port, "testtoken",
+ String requrl = FederationUtils.asLink(url, "d7cc58921a80b37e0329a4dae2f9af38bf61ef5c",
FederationRequest.PULL_REPOSITORIES);
- String json = JsonUtils.retrieveJsonString(url, null, null);
+ String json = JsonUtils.retrieveJsonString(requrl, null, null);
} catch (IOException e) {
if (!e.getMessage().contains("403")) {
throw e;
diff --git a/tests/com/gitblit/tests/FileUtilsTest.java b/tests/com/gitblit/tests/FileUtilsTest.java index 025a2238..12161bc2 100644 --- a/tests/com/gitblit/tests/FileUtilsTest.java +++ b/tests/com/gitblit/tests/FileUtilsTest.java @@ -15,20 +15,25 @@ */
package com.gitblit.tests;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
import java.io.File;
-import junit.framework.TestCase;
+import org.junit.Test;
import com.gitblit.utils.FileUtils;
-public class FileUtilsTest extends TestCase {
+public class FileUtilsTest {
+ @Test
public void testReadContent() throws Exception {
File dir = new File(System.getProperty("user.dir"));
String rawContent = FileUtils.readContent(new File(dir, "LICENSE"), "\n");
assertTrue(rawContent.trim().startsWith("Apache License"));
}
-
+
+ @Test
public void testWriteContent() throws Exception {
String contentA = "this is a test";
File tmp = File.createTempFile("gitblit-", ".test");
@@ -37,6 +42,7 @@ public class FileUtilsTest extends TestCase { assertEquals(contentA, contentB);
}
+ @Test
public void testFolderSize() throws Exception {
assertEquals(-1, FileUtils.folderSize(null));
assertEquals(-1, FileUtils.folderSize(new File(System.getProperty("user.dir"), "pretend")));
@@ -47,7 +53,6 @@ public class FileUtilsTest extends TestCase { File file = new File(System.getProperty("user.dir"), "LICENSE");
size = FileUtils.folderSize(file);
- assertTrue("size is actually " + size, size == 11556L);
-
+ assertEquals("size is actually " + size, 11556L, size);
}
}
\ No newline at end of file diff --git a/tests/com/gitblit/tests/GitBlitSuite.java b/tests/com/gitblit/tests/GitBlitSuite.java index a2ab3e8b..1d90b157 100644 --- a/tests/com/gitblit/tests/GitBlitSuite.java +++ b/tests/com/gitblit/tests/GitBlitSuite.java @@ -17,23 +17,42 @@ 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 java.util.concurrent.atomic.AtomicBoolean;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.storage.file.FileRepository;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
-import com.gitblit.ConfigUserService;
-import com.gitblit.FileSettings;
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 {
+/**
+ * The GitBlitSuite uses test-gitblit.properties and test-users.conf. The suite
+ * is fairly comprehensive for all lower-level functionality. Wicket pages are
+ * currently not unit-tested.
+ *
+ * This suite starts a Gitblit server instance within the same JVM instance as
+ * the unit tests. This allows the unit tests to access the GitBlit static
+ * singleton while also being able to communicate with the instance via tcp/ip
+ * for testing rpc requests, federation requests, and git servlet operations.
+ *
+ * @author James Moger
+ *
+ */
+@RunWith(Suite.class)
+@SuiteClasses({ FileUtilsTest.class, TimeUtilsTest.class, StringUtilsTest.class, Base64Test.class,
+ JsonUtilsTest.class, ByteFormatTest.class, ObjectCacheTest.class, UserServiceTest.class,
+ MarkdownUtilsTest.class, JGitUtilsTest.class, SyndicationUtilsTest.class,
+ DiffUtilsTest.class, MetricUtilsTest.class, TicgitUtilsTest.class, GitBlitTest.class,
+ FederationTests.class, RpcTests.class, GitServletTest.class })
+public class GitBlitSuite {
public static final File REPOSITORIES = new File("git");
@@ -44,30 +63,7 @@ public class GitBlitSuite extends TestSetup { public static String account = "admin";
public static String password = "admin";
- private GitBlitSuite(TestSuite suite) {
- super(suite);
- }
-
- 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(UserServiceTest.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);
- }
+ private static AtomicBoolean started = new AtomicBoolean(false);
public static Repository getHelloworldRepository() throws Exception {
return new FileRepository(new File(REPOSITORIES, "helloworld.git"));
@@ -85,19 +81,26 @@ public class GitBlitSuite extends TestSetup { return new FileRepository(new File(REPOSITORIES, "test/bluez-gnome.git"));
}
- public static void startGitblit() throws Exception {
+ public static boolean startGitblit() throws Exception {
+ if (started.get()) {
+ // already started
+ return false;
+ }
// 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.conf");
+ "test-users.conf", "--settings", "test-gitblit.properties");
}
});
// Wait a few seconds for it to be running
Thread.sleep(2500);
+
+ started.set(true);
+ return true;
}
public static void stopGitblit() throws Exception {
@@ -108,12 +111,9 @@ public class GitBlitSuite extends TestSetup { Thread.sleep(2500);
}
- @Override
- protected void setUp() throws Exception {
- FileSettings settings = new FileSettings("distrib/gitblit.properties");
- GitBlit.self().configureContext(settings, true);
- ConfigUserService loginService = new ConfigUserService(new File("distrib/users.conf"));
- GitBlit.self().setUserService(loginService);
+ @BeforeClass
+ public static void setUp() throws Exception {
+ startGitblit();
if (REPOSITORIES.exists() || REPOSITORIES.mkdirs()) {
cloneOrFetch("helloworld.git", "https://github.com/git/hello-world.git");
@@ -128,22 +128,20 @@ public class GitBlitSuite extends TestSetup { showRemoteBranches("ticgit.git");
showRemoteBranches("test/jgit.git");
}
-
- startGitblit();
}
- @Override
- protected void tearDown() throws Exception {
+ @AfterClass
+ public static void tearDown() throws Exception {
stopGitblit();
}
- private void cloneOrFetch(String name, String fromUrl) throws Exception {
+ private static 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) {
+ private static void enableTickets(String repositoryName) {
try {
RepositoryModel model = GitBlit.self().getRepositoryModel(repositoryName);
model.useTickets = true;
@@ -153,7 +151,7 @@ public class GitBlitSuite extends TestSetup { }
}
- private void enableDocs(String repositoryName) {
+ private static void enableDocs(String repositoryName) {
try {
RepositoryModel model = GitBlit.self().getRepositoryModel(repositoryName);
model.useDocs = true;
@@ -163,7 +161,7 @@ public class GitBlitSuite extends TestSetup { }
}
- private void showRemoteBranches(String repositoryName) {
+ private static void showRemoteBranches(String repositoryName) {
try {
RepositoryModel model = GitBlit.self().getRepositoryModel(repositoryName);
model.showRemoteBranches = true;
diff --git a/tests/com/gitblit/tests/GitBlitTest.java b/tests/com/gitblit/tests/GitBlitTest.java index 6d36d497..00b58546 100644 --- a/tests/com/gitblit/tests/GitBlitTest.java +++ b/tests/com/gitblit/tests/GitBlitTest.java @@ -15,9 +15,14 @@ */
package com.gitblit.tests;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertNotNull;
+
import java.util.List;
-import junit.framework.TestCase;
+import org.junit.Test;
import com.gitblit.Constants.AccessRestrictionType;
import com.gitblit.FileSettings;
@@ -25,8 +30,9 @@ import com.gitblit.GitBlit; import com.gitblit.models.RepositoryModel;
import com.gitblit.models.UserModel;
-public class GitBlitTest extends TestCase {
+public class GitBlitTest {
+ @Test
public void testRepositoryModel() throws Exception {
List<String> repositories = GitBlit.self().getRepositoryList();
assertTrue("Repository list is empty!", repositories.size() > 0);
@@ -37,23 +43,24 @@ public class GitBlitTest extends TestCase { RepositoryModel model = GitBlit.self().getRepositoryModel(
GitBlitSuite.getHelloworldRepository().getDirectory().getName());
assertTrue("Helloworld model is null!", model != null);
- assertTrue(model.toString().equals(
- GitBlitSuite.getHelloworldRepository().getDirectory().getName()));
+ assertEquals(GitBlitSuite.getHelloworldRepository().getDirectory().getName(), model.toString());
assertTrue(GitBlit.self().calculateSize(model) > 22000L);
}
+ @Test
public void testUserModel() throws Exception {
List<String> users = GitBlit.self().getAllUsernames();
assertTrue("No users found!", users.size() > 0);
assertTrue("Admin not found", users.contains("admin"));
UserModel model = GitBlit.self().getUserModel("admin");
- assertTrue(model.toString().equals("admin"));
+ assertEquals("admin", model.toString());
assertTrue("Admin missing #admin role!", model.canAdmin);
model.canAdmin = false;
assertFalse("Admin should not have #admin!", model.canAdmin);
String repository = GitBlitSuite.getHelloworldRepository().getDirectory().getName();
- RepositoryModel repositoryModel = GitBlit.self().getRepositoryModel(model, repository);
- assertFalse("Admin can still access repository!", model.canAccessRepository(repositoryModel));
+ RepositoryModel repositoryModel = GitBlit.self().getRepositoryModel(repository);
+ assertFalse("Admin can still access repository!",
+ model.canAccessRepository(repositoryModel));
model.addRepository(repository);
assertTrue("Admin can't access repository!", model.canAccessRepository(repositoryModel));
assertEquals(GitBlit.self().getRepositoryModel(model, "pretend"), null);
@@ -61,6 +68,7 @@ public class GitBlitTest extends TestCase { assertTrue(GitBlit.self().getRepositoryModels(model).size() > 0);
}
+ @Test
public void testAccessRestrictionTypes() throws Exception {
assertTrue(AccessRestrictionType.PUSH.exceeds(AccessRestrictionType.NONE));
assertTrue(AccessRestrictionType.CLONE.exceeds(AccessRestrictionType.PUSH));
@@ -82,22 +90,23 @@ public class GitBlitTest extends TestCase { assertTrue(AccessRestrictionType.CLONE.toString().equals("CLONE"));
assertTrue(AccessRestrictionType.VIEW.toString().equals("VIEW"));
- assertTrue(AccessRestrictionType.fromName("none").equals(AccessRestrictionType.NONE));
- assertTrue(AccessRestrictionType.fromName("push").equals(AccessRestrictionType.PUSH));
- assertTrue(AccessRestrictionType.fromName("clone").equals(AccessRestrictionType.CLONE));
- assertTrue(AccessRestrictionType.fromName("view").equals(AccessRestrictionType.VIEW));
+ assertEquals(AccessRestrictionType.NONE, AccessRestrictionType.fromName("none"));
+ assertEquals(AccessRestrictionType.PUSH, AccessRestrictionType.fromName("push"));
+ assertEquals(AccessRestrictionType.CLONE, AccessRestrictionType.fromName("clone"));
+ assertEquals(AccessRestrictionType.VIEW, AccessRestrictionType.fromName("view"));
}
+ @Test
public void testFileSettings() throws Exception {
FileSettings settings = new FileSettings("distrib/gitblit.properties");
- assertTrue(settings.getBoolean("missing", true));
- assertTrue(settings.getString("missing", "default").equals("default"));
- assertTrue(settings.getInteger("missing", 10) == 10);
- assertTrue(settings.getInteger("realm.realmFile", 5) == 5);
+ assertEquals(true, settings.getBoolean("missing", true));
+ assertEquals("default", settings.getString("missing", "default"));
+ assertEquals(10, settings.getInteger("missing", 10));
+ assertEquals(5, settings.getInteger("realm.realmFile", 5));
assertTrue(settings.getBoolean("git.enableGitServlet", false));
- assertTrue(settings.getString("realm.userService", null).equals("users.conf"));
- assertTrue(settings.getInteger("realm.minPasswordLength", 0) == 5);
+ assertEquals("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);
assertTrue(mdExtensions.contains("md"));
@@ -109,6 +118,7 @@ public class GitBlitTest extends TestCase { assertTrue(settings.getChar("web.forwardSlashCharacter", ' ') == '/');
}
+ @Test
public void testGitblitSettings() throws Exception {
// These are already tested by above test method.
assertTrue(GitBlit.getBoolean("missing", true));
@@ -117,7 +127,7 @@ public class GitBlitTest extends TestCase { assertEquals(5, GitBlit.getInteger("realm.userService", 5));
assertTrue(GitBlit.getBoolean("git.enableGitServlet", false));
- assertEquals("distrib/users.conf", GitBlit.getString("realm.userService", null));
+ assertEquals("test-users.conf", GitBlit.getString("realm.userService", null));
assertEquals(5, GitBlit.getInteger("realm.minPasswordLength", 0));
List<String> mdExtensions = GitBlit.getStrings("web.markdownExtensions");
assertTrue(mdExtensions.size() > 0);
@@ -131,10 +141,12 @@ public class GitBlitTest extends TestCase { assertFalse(GitBlit.isDebugMode());
}
+ @Test
public void testAuthentication() throws Exception {
assertTrue(GitBlit.self().authenticate("admin", "admin".toCharArray()) != null);
}
+ @Test
public void testRepositories() throws Exception {
assertTrue(GitBlit.self().getRepository("missing") == null);
assertTrue(GitBlit.self().getRepositoryModel("missing") == null);
diff --git a/tests/com/gitblit/tests/GitServletTest.java b/tests/com/gitblit/tests/GitServletTest.java index db8182de..548a72bc 100644 --- a/tests/com/gitblit/tests/GitServletTest.java +++ b/tests/com/gitblit/tests/GitServletTest.java @@ -1,12 +1,15 @@ package com.gitblit.tests;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
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 java.util.concurrent.atomic.AtomicBoolean;
import org.eclipse.jgit.api.CloneCommand;
import org.eclipse.jgit.api.Git;
@@ -16,39 +19,30 @@ import org.junit.AfterClass; import org.junit.BeforeClass;
import org.junit.Test;
-import com.gitblit.GitBlitServer;
+import com.gitblit.Constants.AccessRestrictionType;
+import com.gitblit.GitBlit;
+import com.gitblit.models.RepositoryModel;
public class GitServletTest {
File folder = new File(GitBlitSuite.REPOSITORIES, "working/ticgit");
- static int port = 8180;
+ String url = GitBlitSuite.url;
+ String account = GitBlitSuite.account;
+ String password = GitBlitSuite.password;
- static int shutdownPort = 8181;
+ private static final AtomicBoolean started = new AtomicBoolean(false);
@BeforeClass
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.conf");
- }
- });
-
- // Wait a few seconds for it to be running
- Thread.sleep(2500);
+ started.set(GitBlitSuite.startGitblit());
}
@AfterClass
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);
+ if (started.get()) {
+ GitBlitSuite.stopGitblit();
+ }
}
@Test
@@ -57,11 +51,46 @@ public class GitServletTest { FileUtils.delete(folder, FileUtils.RECURSIVE);
}
CloneCommand clone = Git.cloneRepository();
- clone.setURI(MessageFormat.format("http://localhost:{0,number,#}/git/ticgit.git", port));
+ clone.setURI(MessageFormat.format("{0}/git/ticgit.git", url));
clone.setDirectory(folder);
clone.setBare(false);
clone.setCloneAllBranches(true);
+ clone.setCredentialsProvider(new UsernamePasswordCredentialsProvider(account, password));
clone.call();
+ assertTrue(true);
+ }
+
+ @Test
+ public void testBogusLoginClone() throws Exception {
+ // restrict repository access
+ RepositoryModel model = GitBlit.self().getRepositoryModel("ticgit.git");
+ model.accessRestriction = AccessRestrictionType.CLONE;
+ GitBlit.self().updateRepositoryModel(model.name, model, false);
+
+ // delete any existing working folder
+ File folder = new File(GitBlitSuite.REPOSITORIES, "working/gitblit");
+ if (folder.exists()) {
+ FileUtils.delete(folder, FileUtils.RECURSIVE);
+ }
+ boolean cloned = false;
+ try {
+ CloneCommand clone = Git.cloneRepository();
+ clone.setURI(MessageFormat.format("{0}/git/ticgit.git", url));
+ clone.setDirectory(folder);
+ clone.setBare(false);
+ clone.setCloneAllBranches(true);
+ clone.setCredentialsProvider(new UsernamePasswordCredentialsProvider("bogus", "bogus"));
+ clone.call();
+ cloned = true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ // restore anonymous repository access
+ model.accessRestriction = AccessRestrictionType.NONE;
+ GitBlit.self().updateRepositoryModel(model.name, model, false);
+
+ assertFalse("Bogus login cloned a repository?!", cloned);
}
@Test
@@ -77,19 +106,4 @@ public class GitServletTest { git.push().setPushAll().call();
git.getRepository().close();
}
-
- @Test
- public void testBogusLoginClone() throws Exception {
- File folder = new File(GitBlitSuite.REPOSITORIES, "working/gitblit");
- if (folder.exists()) {
- FileUtils.delete(folder, FileUtils.RECURSIVE);
- }
- CloneCommand clone = Git.cloneRepository();
- clone.setURI(MessageFormat.format("http://localhost:{0,number,#}/git/gitblit.git", port));
- clone.setDirectory(folder);
- clone.setBare(false);
- clone.setCloneAllBranches(true);
- clone.setCredentialsProvider(new UsernamePasswordCredentialsProvider("bogus", "bogus"));
- clone.call();
- }
}
diff --git a/tests/com/gitblit/tests/JGitUtilsTest.java b/tests/com/gitblit/tests/JGitUtilsTest.java index 7cd79adc..e330c426 100644 --- a/tests/com/gitblit/tests/JGitUtilsTest.java +++ b/tests/com/gitblit/tests/JGitUtilsTest.java @@ -15,6 +15,12 @@ */
package com.gitblit.tests;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
import java.io.File;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
@@ -23,8 +29,6 @@ import java.util.Date; import java.util.List;
import java.util.Map;
-import junit.framework.TestCase;
-
import org.eclipse.jgit.diff.DiffEntry.ChangeType;
import org.eclipse.jgit.lib.Constants;
import org.eclipse.jgit.lib.FileMode;
@@ -35,7 +39,9 @@ import org.eclipse.jgit.lib.RepositoryCache.FileKey; import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.jgit.util.FS;
import org.eclipse.jgit.util.FileUtils;
+import org.junit.Test;
+import com.gitblit.Constants.SearchType;
import com.gitblit.GitBlit;
import com.gitblit.Keys;
import com.gitblit.models.GitNote;
@@ -45,56 +51,62 @@ import com.gitblit.models.RefModel; import com.gitblit.utils.JGitUtils;
import com.gitblit.utils.StringUtils;
-public class JGitUtilsTest extends TestCase {
+public class JGitUtilsTest {
+ @Test
public void testDisplayName() throws Exception {
- assertTrue(JGitUtils.getDisplayName(new PersonIdent("Napoleon Bonaparte", "")).equals(
- "Napoleon Bonaparte"));
- assertTrue(JGitUtils.getDisplayName(new PersonIdent("", "someone@somewhere.com")).equals(
- "<someone@somewhere.com>"));
- assertTrue(JGitUtils.getDisplayName(
- new PersonIdent("Napoleon Bonaparte", "someone@somewhere.com")).equals(
- "Napoleon Bonaparte <someone@somewhere.com>"));
+ assertEquals("Napoleon Bonaparte",
+ JGitUtils.getDisplayName(new PersonIdent("Napoleon Bonaparte", "")));
+ assertEquals("<someone@somewhere.com>",
+ JGitUtils.getDisplayName(new PersonIdent("", "someone@somewhere.com")));
+ assertEquals("Napoleon Bonaparte <someone@somewhere.com>",
+ JGitUtils.getDisplayName(new PersonIdent("Napoleon Bonaparte",
+ "someone@somewhere.com")));
}
+ @Test
public void testFindRepositories() {
List<String> list = JGitUtils.getRepositoryList(null, true, true);
- assertTrue(list.size() == 0);
+ assertEquals(0, list.size());
list.addAll(JGitUtils.getRepositoryList(new File("DoesNotExist"), true, true));
- assertTrue(list.size() == 0);
+ assertEquals(0, list.size());
list.addAll(JGitUtils.getRepositoryList(GitBlitSuite.REPOSITORIES, true, true));
assertTrue("No repositories found in " + GitBlitSuite.REPOSITORIES, list.size() > 0);
}
+ @Test
public void testOpenRepository() throws Exception {
Repository repository = GitBlitSuite.getHelloworldRepository();
repository.close();
- assertTrue("Could not find repository!", repository != null);
+ assertNotNull("Could not find repository!", repository);
}
+ @Test
public void testFirstCommit() throws Exception {
- assertTrue(JGitUtils.getFirstChange(null, null).equals(new Date(0)));
+ assertEquals(new Date(0), JGitUtils.getFirstChange(null, null));
Repository repository = GitBlitSuite.getHelloworldRepository();
RevCommit commit = JGitUtils.getFirstCommit(repository, null);
Date firstChange = JGitUtils.getFirstChange(repository, null);
repository.close();
- assertTrue("Could not get first commit!", commit != null);
- assertTrue("Incorrect first commit!",
- commit.getName().equals("f554664a346629dc2b839f7292d06bad2db4aece"));
+ assertNotNull("Could not get first commit!", commit);
+ assertEquals("Incorrect first commit!", "f554664a346629dc2b839f7292d06bad2db4aece",
+ commit.getName());
assertTrue(firstChange.equals(new Date(commit.getCommitTime() * 1000L)));
}
+ @Test
public void testLastCommit() throws Exception {
- assertTrue(JGitUtils.getLastChange(null, null).equals(new Date(0)));
+ assertEquals(new Date(0), JGitUtils.getLastChange(null, null));
Repository repository = GitBlitSuite.getHelloworldRepository();
assertTrue(JGitUtils.getCommit(repository, null) != null);
Date date = JGitUtils.getLastChange(repository, null);
repository.close();
- assertTrue("Could not get last repository change date!", date != null);
+ assertNotNull("Could not get last repository change date!", date);
}
+ @Test
public void testCreateRepository() throws Exception {
String[] repositories = { "NewTestRepository.git", "NewTestRepository" };
for (String repositoryName : repositories) {
@@ -102,18 +114,19 @@ public class JGitUtilsTest extends TestCase { repositoryName);
File folder = FileKey.resolve(new File(GitBlitSuite.REPOSITORIES, repositoryName),
FS.DETECTED);
- assertTrue(repository != null);
+ assertNotNull(repository);
assertFalse(JGitUtils.hasCommits(repository));
- assertTrue(JGitUtils.getFirstCommit(repository, null) == null);
- assertTrue(JGitUtils.getFirstChange(repository, null).getTime() == folder
- .lastModified());
- assertTrue(JGitUtils.getLastChange(repository, null).getTime() == folder.lastModified());
- assertTrue(JGitUtils.getCommit(repository, null) == null);
+ assertNull(JGitUtils.getFirstCommit(repository, null));
+ assertEquals(folder.lastModified(), JGitUtils.getFirstChange(repository, null)
+ .getTime());
+ assertEquals(folder.lastModified(), JGitUtils.getLastChange(repository, null).getTime());
+ assertNull(JGitUtils.getCommit(repository, null));
repository.close();
assertTrue(GitBlit.self().deleteRepository(repositoryName));
}
}
+ @Test
public void testRefs() throws Exception {
Repository repository = GitBlitSuite.getJGitRepository();
Map<ObjectId, List<RefModel>> map = JGitUtils.getAllRefs(repository);
@@ -123,13 +136,13 @@ public class JGitUtilsTest extends TestCase { List<RefModel> list = entry.getValue();
for (RefModel ref : list) {
if (ref.displayName.equals("refs/tags/spearce-gpg-pub")) {
- assertTrue(ref.toString().equals("refs/tags/spearce-gpg-pub"));
- assertTrue(ref.getObjectId().getName()
- .equals("8bbde7aacf771a9afb6992434f1ae413e010c6d8"));
- assertTrue(ref.getAuthorIdent().getEmailAddress().equals("spearce@spearce.org"));
+ assertEquals("refs/tags/spearce-gpg-pub", ref.toString());
+ assertEquals("8bbde7aacf771a9afb6992434f1ae413e010c6d8", ref.getObjectId()
+ .getName());
+ assertEquals("spearce@spearce.org", ref.getAuthorIdent().getEmailAddress());
assertTrue(ref.getShortMessage().startsWith("GPG key"));
assertTrue(ref.getFullMessage().startsWith("GPG key"));
- assertTrue(ref.getReferencedObjectType() == Constants.OBJ_BLOB);
+ assertEquals(Constants.OBJ_BLOB, ref.getReferencedObjectType());
} else if (ref.displayName.equals("refs/tags/v0.12.1")) {
assertTrue(ref.isAnnotatedTag());
}
@@ -137,6 +150,7 @@ public class JGitUtilsTest extends TestCase { }
}
+ @Test
public void testBranches() throws Exception {
Repository repository = GitBlitSuite.getJGitRepository();
assertTrue(JGitUtils.getLocalBranches(repository, true, 0).size() == 0);
@@ -160,6 +174,7 @@ public class JGitUtilsTest extends TestCase { repository.close();
}
+ @Test
public void testTags() throws Exception {
Repository repository = GitBlitSuite.getJGitRepository();
assertTrue(JGitUtils.getTags(repository, true, 5).size() == 5);
@@ -180,13 +195,13 @@ public class JGitUtilsTest extends TestCase { if (model.getObjectId().getName().equals("728643ec0c438c77e182898c2f2967dbfdc231c8")) {
assertFalse(model.isAnnotatedTag());
assertTrue(model.getAuthorIdent().getEmailAddress().equals("marcel@holtmann.org"));
- assertTrue(model.getFullMessage().equals(
- "Update changelog and bump version number\n"));
+ assertEquals("Update changelog and bump version number\n", model.getFullMessage());
}
}
repository.close();
}
+ @Test
public void testCommitNotes() throws Exception {
Repository repository = GitBlitSuite.getJGitRepository();
RevCommit commit = JGitUtils.getCommit(repository,
@@ -194,10 +209,11 @@ public class JGitUtilsTest extends TestCase { List<GitNote> list = JGitUtils.getNotesOnCommit(repository, commit);
repository.close();
assertTrue(list.size() > 0);
- assertTrue(list.get(0).notesRef.getReferencedObjectId().getName()
- .equals("183474d554e6f68478a02d9d7888b67a9338cdff"));
+ assertEquals("183474d554e6f68478a02d9d7888b67a9338cdff", list.get(0).notesRef
+ .getReferencedObjectId().getName());
}
+ @Test
public void testCreateOrphanedBranch() throws Exception {
Repository repository = JGitUtils.createRepository(GitBlitSuite.REPOSITORIES, "orphantest");
assertTrue(JGitUtils.createOrphanBranch(repository,
@@ -205,6 +221,7 @@ public class JGitUtilsTest extends TestCase { FileUtils.delete(repository.getDirectory(), FileUtils.RECURSIVE);
}
+ @Test
public void testStringContent() throws Exception {
Repository repository = GitBlitSuite.getHelloworldRepository();
String contentA = JGitUtils.getStringContent(repository, null, "java.java");
@@ -222,10 +239,11 @@ public class JGitUtilsTest extends TestCase { assertTrue("ContentA is null!", contentA != null && contentA.length() > 0);
assertTrue("ContentB is null!", contentB != null && contentB.length() > 0);
assertTrue(contentA.equals(contentB));
- assertTrue(contentC == null);
+ assertNull(contentC);
assertTrue(contentA.equals(contentD));
}
+ @Test
public void testFilesInCommit() throws Exception {
Repository repository = GitBlitSuite.getHelloworldRepository();
RevCommit commit = JGitUtils.getCommit(repository,
@@ -248,19 +266,21 @@ public class JGitUtilsTest extends TestCase { assertTrue("PathChangeModel equals itself failed!", path.equals(path));
assertFalse("PathChangeModel equals string failed!", path.equals(""));
}
- assertTrue(deletions.get(0).changeType.equals(ChangeType.DELETE));
- assertTrue(additions.get(0).changeType.equals(ChangeType.ADD));
+ assertEquals(ChangeType.DELETE, deletions.get(0).changeType);
+ assertEquals(ChangeType.ADD, additions.get(0).changeType);
assertTrue(latestChanges.size() > 0);
}
+ @Test
public void testFilesInPath() throws Exception {
- assertTrue(JGitUtils.getFilesInPath(null, null, null).size() == 0);
+ assertEquals(0, JGitUtils.getFilesInPath(null, null, null).size());
Repository repository = GitBlitSuite.getHelloworldRepository();
List<PathModel> files = JGitUtils.getFilesInPath(repository, null, null);
repository.close();
assertTrue(files.size() > 10);
}
+ @Test
public void testDocuments() throws Exception {
Repository repository = GitBlitSuite.getTicgitRepository();
List<String> extensions = GitBlit.getStrings(Keys.web.markdownExtensions);
@@ -274,17 +294,19 @@ public class JGitUtilsTest extends TestCase { assertTrue(allFiles.size() > markdownDocs.size());
}
+ @Test
public void testFileModes() throws Exception {
- assertTrue(JGitUtils.getPermissionsFromMode(FileMode.TREE.getBits()).equals("drwxr-xr-x"));
- assertTrue(JGitUtils.getPermissionsFromMode(FileMode.REGULAR_FILE.getBits()).equals(
- "-rw-r--r--"));
- assertTrue(JGitUtils.getPermissionsFromMode(FileMode.EXECUTABLE_FILE.getBits()).equals(
- "-rwxr-xr-x"));
- assertTrue(JGitUtils.getPermissionsFromMode(FileMode.SYMLINK.getBits()).equals("symlink"));
- assertTrue(JGitUtils.getPermissionsFromMode(FileMode.GITLINK.getBits()).equals("gitlink"));
- assertTrue(JGitUtils.getPermissionsFromMode(FileMode.MISSING.getBits()).equals("missing"));
+ assertEquals("drwxr-xr-x", JGitUtils.getPermissionsFromMode(FileMode.TREE.getBits()));
+ assertEquals("-rw-r--r--",
+ JGitUtils.getPermissionsFromMode(FileMode.REGULAR_FILE.getBits()));
+ assertEquals("-rwxr-xr-x",
+ JGitUtils.getPermissionsFromMode(FileMode.EXECUTABLE_FILE.getBits()));
+ assertEquals("symlink", JGitUtils.getPermissionsFromMode(FileMode.SYMLINK.getBits()));
+ assertEquals("gitlink", JGitUtils.getPermissionsFromMode(FileMode.GITLINK.getBits()));
+ assertEquals("missing", JGitUtils.getPermissionsFromMode(FileMode.MISSING.getBits()));
}
+ @Test
public void testRevlog() throws Exception {
assertTrue(JGitUtils.getRevLog(null, 0).size() == 0);
List<RevCommit> commits = JGitUtils.getRevLog(null, 10);
@@ -302,51 +324,55 @@ public class JGitUtilsTest extends TestCase { // grab the two most recent commits to java.java
commits = JGitUtils.getRevLog(repository, null, "java.java", 0, 2);
assertEquals(2, commits.size());
-
+
// grab the commits since 2008-07-15
- commits = JGitUtils.getRevLog(repository, null, new SimpleDateFormat("yyyy-MM-dd").parse("2008-07-15"));
+ commits = JGitUtils.getRevLog(repository, null,
+ new SimpleDateFormat("yyyy-MM-dd").parse("2008-07-15"));
assertEquals(12, commits.size());
repository.close();
}
+ @Test
public void testSearchTypes() throws Exception {
- assertTrue(com.gitblit.Constants.SearchType.forName("commit").equals(com.gitblit.Constants.SearchType.COMMIT));
- assertTrue(com.gitblit.Constants.SearchType.forName("committer").equals(com.gitblit.Constants.SearchType.COMMITTER));
- assertTrue(com.gitblit.Constants.SearchType.forName("author").equals(com.gitblit.Constants.SearchType.AUTHOR));
- assertTrue(com.gitblit.Constants.SearchType.forName("unknown").equals(com.gitblit.Constants.SearchType.COMMIT));
-
- assertTrue(com.gitblit.Constants.SearchType.COMMIT.toString().equals("commit"));
- assertTrue(com.gitblit.Constants.SearchType.COMMITTER.toString().equals("committer"));
- assertTrue(com.gitblit.Constants.SearchType.AUTHOR.toString().equals("author"));
+ assertEquals(SearchType.COMMIT, SearchType.forName("commit"));
+ assertEquals(SearchType.COMMITTER, SearchType.forName("committer"));
+ assertEquals(SearchType.AUTHOR, SearchType.forName("author"));
+ assertEquals(SearchType.COMMIT, SearchType.forName("unknown"));
+
+ assertEquals("commit", SearchType.COMMIT.toString());
+ assertEquals("committer", SearchType.COMMITTER.toString());
+ assertEquals("author", SearchType.AUTHOR.toString());
}
+ @Test
public void testSearchRevlogs() throws Exception {
- assertTrue(JGitUtils.searchRevlogs(null, null, "java", com.gitblit.Constants.SearchType.COMMIT, 0, 0).size() == 0);
- List<RevCommit> results = JGitUtils.searchRevlogs(null, null, "java", com.gitblit.Constants.SearchType.COMMIT, 0,
+ assertEquals(0, JGitUtils.searchRevlogs(null, null, "java", SearchType.COMMIT, 0, 0).size());
+ List<RevCommit> results = JGitUtils.searchRevlogs(null, null, "java", SearchType.COMMIT, 0,
3);
- assertTrue(results.size() == 0);
+ assertEquals(0, results.size());
// test commit message search
Repository repository = GitBlitSuite.getHelloworldRepository();
- results = JGitUtils.searchRevlogs(repository, null, "java", com.gitblit.Constants.SearchType.COMMIT, 0, 3);
- assertTrue(results.size() == 3);
+ results = JGitUtils.searchRevlogs(repository, null, "java", SearchType.COMMIT, 0, 3);
+ assertEquals(3, results.size());
// test author search
- results = JGitUtils.searchRevlogs(repository, null, "timothy", com.gitblit.Constants.SearchType.AUTHOR, 0, -1);
- assertTrue(results.size() == 1);
+ results = JGitUtils.searchRevlogs(repository, null, "timothy", SearchType.AUTHOR, 0, -1);
+ assertEquals(1, results.size());
// test committer search
- results = JGitUtils.searchRevlogs(repository, null, "mike", com.gitblit.Constants.SearchType.COMMITTER, 0, 10);
- assertTrue(results.size() == 10);
+ results = JGitUtils.searchRevlogs(repository, null, "mike", SearchType.COMMITTER, 0, 10);
+ assertEquals(10, results.size());
// test paging and offset
- RevCommit commit = JGitUtils.searchRevlogs(repository, null, "mike", com.gitblit.Constants.SearchType.COMMITTER,
+ RevCommit commit = JGitUtils.searchRevlogs(repository, null, "mike", SearchType.COMMITTER,
9, 1).get(0);
- assertTrue(results.get(9).equals(commit));
+ assertEquals(results.get(9), commit);
repository.close();
}
+ @Test
public void testZip() throws Exception {
assertFalse(JGitUtils.zip(null, null, null, null));
Repository repository = GitBlitSuite.getHelloworldRepository();
diff --git a/tests/com/gitblit/tests/JsonUtilsTest.java b/tests/com/gitblit/tests/JsonUtilsTest.java index e70bd8a0..cf058441 100644 --- a/tests/com/gitblit/tests/JsonUtilsTest.java +++ b/tests/com/gitblit/tests/JsonUtilsTest.java @@ -15,18 +15,21 @@ */
package com.gitblit.tests;
+import static org.junit.Assert.assertEquals;
+
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
-import junit.framework.TestCase;
+import org.junit.Test;
import com.gitblit.utils.JsonUtils;
import com.google.gson.reflect.TypeToken;
-public class JsonUtilsTest extends TestCase {
+public class JsonUtilsTest {
+ @Test
public void testSerialization() {
Map<String, String> map = new HashMap<String, String>();
map.put("a", "alligator");
diff --git a/tests/com/gitblit/tests/MailTest.java b/tests/com/gitblit/tests/MailTest.java index 55002cee..05d55a24 100644 --- a/tests/com/gitblit/tests/MailTest.java +++ b/tests/com/gitblit/tests/MailTest.java @@ -15,15 +15,18 @@ */
package com.gitblit.tests;
+import static org.junit.Assert.assertTrue;
+
import javax.mail.Message;
-import junit.framework.TestCase;
+import org.junit.Test;
import com.gitblit.FileSettings;
import com.gitblit.MailExecutor;
-public class MailTest extends TestCase {
+public class MailTest {
+ @Test
public void testSendMail() throws Exception {
FileSettings settings = new FileSettings("mailtest.properties");
MailExecutor mail = new MailExecutor(settings);
@@ -31,7 +34,7 @@ public class MailTest extends TestCase { message.setSubject("Test");
message.setText("this is a test");
mail.queue(message);
- mail.run();
+ mail.run();
assertTrue("mail queue is not empty!", mail.hasEmptyQueue());
}
diff --git a/tests/com/gitblit/tests/MarkdownUtilsTest.java b/tests/com/gitblit/tests/MarkdownUtilsTest.java index d421fb16..cd7ca020 100644 --- a/tests/com/gitblit/tests/MarkdownUtilsTest.java +++ b/tests/com/gitblit/tests/MarkdownUtilsTest.java @@ -15,14 +15,18 @@ */
package com.gitblit.tests;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
import java.text.ParseException;
-import junit.framework.TestCase;
+import org.junit.Test;
import com.gitblit.utils.MarkdownUtils;
-public class MarkdownUtilsTest extends TestCase {
+public class MarkdownUtilsTest {
+ @Test
public void testMarkdown() throws Exception {
assertEquals("<h1> H1</h1>", MarkdownUtils.transformMarkdown("# H1"));
assertEquals("<h2> H2</h2>", MarkdownUtils.transformMarkdown("## H2"));
@@ -34,8 +38,9 @@ public class MarkdownUtilsTest extends TestCase { MarkdownUtils.transformMarkdown("**THIS ** is a test"));
assertEquals("<p>** THIS** is a test</p>",
MarkdownUtils.transformMarkdown("** THIS** is a test"));
-
- assertEquals("<table><tr><td>test</td></tr></table>", MarkdownUtils.transformMarkdown("<table><tr><td>test</td></tr></table>"));
+
+ assertEquals("<table><tr><td>test</td></tr></table>",
+ MarkdownUtils.transformMarkdown("<table><tr><td>test</td></tr></table>"));
assertEquals("<table><tr><td><test></td></tr></table>",
MarkdownUtils.transformMarkdown("<table><tr><td><test></td></tr></table>"));
diff --git a/tests/com/gitblit/tests/MetricUtilsTest.java b/tests/com/gitblit/tests/MetricUtilsTest.java index bfa34b4b..71bf2ed7 100644 --- a/tests/com/gitblit/tests/MetricUtilsTest.java +++ b/tests/com/gitblit/tests/MetricUtilsTest.java @@ -15,17 +15,20 @@ */
package com.gitblit.tests;
-import java.util.List;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
-import junit.framework.TestCase;
+import java.util.List;
import org.eclipse.jgit.lib.Repository;
+import org.junit.Test;
import com.gitblit.models.Metric;
import com.gitblit.utils.MetricUtils;
-public class MetricUtilsTest extends TestCase {
+public class MetricUtilsTest {
+ @Test
public void testMetrics() throws Exception {
testMetrics(GitBlitSuite.getHelloworldRepository());
testMetrics(GitBlitSuite.getBluezGnomeRepository());
@@ -37,12 +40,13 @@ public class MetricUtilsTest extends TestCase { assertTrue("No date metrics found!", metrics.size() > 0);
}
+ @Test
public void testAuthorMetrics() throws Exception {
Repository repository = GitBlitSuite.getHelloworldRepository();
List<Metric> byEmail = MetricUtils.getAuthorMetrics(repository, null, true);
List<Metric> byName = MetricUtils.getAuthorMetrics(repository, null, false);
repository.close();
- assertTrue("No author metrics found!", byEmail.size() == 9);
- assertTrue("No author metrics found!", byName.size() == 8);
+ assertEquals("No author metrics found!", 9, byEmail.size());
+ assertEquals("No author metrics found!", 8, byName.size());
}
}
\ No newline at end of file diff --git a/tests/com/gitblit/tests/ObjectCacheTest.java b/tests/com/gitblit/tests/ObjectCacheTest.java index 054761ff..8d07fe65 100644 --- a/tests/com/gitblit/tests/ObjectCacheTest.java +++ b/tests/com/gitblit/tests/ObjectCacheTest.java @@ -15,14 +15,19 @@ */
package com.gitblit.tests;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
import java.util.Date;
-import junit.framework.TestCase;
+import org.junit.Test;
import com.gitblit.utils.ObjectCache;
-public class ObjectCacheTest extends TestCase {
+public class ObjectCacheTest {
+ @Test
public void testCache() throws Exception {
ObjectCache<String> cache = new ObjectCache<String>();
cache.updateObject("test", "alpha");
diff --git a/tests/com/gitblit/tests/RpcTests.java b/tests/com/gitblit/tests/RpcTests.java index ab6a8b8a..30dc84dc 100644 --- a/tests/com/gitblit/tests/RpcTests.java +++ b/tests/com/gitblit/tests/RpcTests.java @@ -15,13 +15,17 @@ */
package com.gitblit.tests;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
import java.io.IOException;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-
-import junit.framework.TestCase;
+import java.util.concurrent.atomic.AtomicBoolean;
import org.junit.AfterClass;
import org.junit.BeforeClass;
@@ -45,27 +49,30 @@ import com.gitblit.utils.RpcUtils; * @author James Moger
*
*/
-public class RpcTests extends TestCase {
-
+public class RpcTests {
+
String url = GitBlitSuite.url;
String account = GitBlitSuite.account;
String password = GitBlitSuite.password;
-
+
+ private static final AtomicBoolean started = new AtomicBoolean(false);
@BeforeClass
public static void startGitblit() throws Exception {
- GitBlitSuite.startGitblit();
+ started.set(GitBlitSuite.startGitblit());
}
@AfterClass
public static void stopGitblit() throws Exception {
- GitBlitSuite.stopGitblit();
+ if (started.get()) {
+ GitBlitSuite.stopGitblit();
+ }
}
@Test
public void testListRepositories() throws IOException {
Map<String, RepositoryModel> map = RpcUtils.getRepositories(url, null, null);
- assertTrue("Repository list is null!", map != null);
+ assertNotNull("Repository list is null!", map);
assertTrue("Repository list is empty!", map.size() > 0);
}
@@ -76,7 +83,7 @@ public class RpcTests extends TestCase { list = RpcUtils.getUsers(url, null, null);
} catch (UnauthorizedException e) {
}
- assertTrue("Server allows anyone to admin!", list == null);
+ assertNull("Server allows anyone to admin!", list);
list = RpcUtils.getUsers(url, "admin", "admin".toCharArray());
assertTrue("User list is empty!", list.size() > 0);
@@ -93,7 +100,7 @@ public class RpcTests extends TestCase { RpcUtils.createUser(user, url, account, password.toCharArray()));
UserModel retrievedUser = findUser(user.username);
- assertTrue("Failed to find " + user.username, retrievedUser != null);
+ assertNotNull("Failed to find " + user.username, retrievedUser);
assertTrue("Retrieved user can not administer Gitblit", retrievedUser.canAdmin);
// rename and toggle admin permission
@@ -104,7 +111,7 @@ public class RpcTests extends TestCase { RpcUtils.updateUser(originalName, user, url, account, password.toCharArray()));
retrievedUser = findUser(user.username);
- assertTrue("Failed to find " + user.username, retrievedUser != null);
+ assertNotNull("Failed to find " + user.username, retrievedUser);
assertTrue("Retrieved user did not update", !retrievedUser.canAdmin);
// delete
@@ -112,7 +119,7 @@ public class RpcTests extends TestCase { RpcUtils.deleteUser(retrievedUser, url, account, password.toCharArray()));
retrievedUser = findUser(user.username);
- assertTrue("Failed to delete " + user.username, retrievedUser == null);
+ assertNull("Failed to delete " + user.username, retrievedUser);
}
private UserModel findUser(String name) throws IOException {
@@ -140,9 +147,8 @@ public class RpcTests extends TestCase { RpcUtils.createRepository(model, url, account, password.toCharArray()));
RepositoryModel retrievedRepository = findRepository(model.name);
- assertTrue("Failed to find " + model.name, retrievedRepository != null);
- assertTrue("Access retriction type is wrong",
- AccessRestrictionType.VIEW.equals(retrievedRepository.accessRestriction));
+ assertNotNull("Failed to find " + model.name, retrievedRepository);
+ assertEquals(AccessRestrictionType.VIEW, retrievedRepository.accessRestriction);
// rename and change access restriciton
String originalName = model.name;
@@ -152,16 +158,18 @@ public class RpcTests extends TestCase { url, account, password.toCharArray()));
retrievedRepository = findRepository(model.name);
- assertTrue("Failed to find " + model.name, retrievedRepository != null);
+ assertNotNull("Failed to find " + model.name, retrievedRepository);
assertTrue("Access retriction type is wrong",
AccessRestrictionType.PUSH.equals(retrievedRepository.accessRestriction));
// memberships
- String testMember = "justadded";
+ UserModel testMember = new UserModel("justadded");
+ assertTrue(RpcUtils.createUser(testMember, url, account, password.toCharArray()));
+
List<String> members = RpcUtils.getRepositoryMembers(retrievedRepository, url, account,
password.toCharArray());
- assertTrue("Membership roster is not empty!", members.size() == 0);
- members.add(testMember);
+ assertEquals("Membership roster is not empty!", 0, members.size());
+ members.add(testMember.username);
assertTrue(
"Failed to set memberships!",
RpcUtils.setRepositoryMembers(retrievedRepository, members, url, account,
@@ -170,7 +178,7 @@ public class RpcTests extends TestCase { password.toCharArray());
boolean foundMember = false;
for (String member : members) {
- if (member.equalsIgnoreCase(testMember)) {
+ if (member.equalsIgnoreCase(testMember.username)) {
foundMember = true;
break;
}
@@ -182,11 +190,11 @@ public class RpcTests extends TestCase { url, account, password.toCharArray()));
retrievedRepository = findRepository(model.name);
- assertTrue("Failed to delete " + model.name, retrievedRepository == null);
+ assertNull("Failed to delete " + model.name, retrievedRepository);
for (UserModel u : RpcUtils.getUsers(url, account, password.toCharArray())) {
- if (u.username.equals(testMember)) {
- RpcUtils.deleteUser(u, url, account, password.toCharArray());
+ if (u.username.equals(testMember.username)) {
+ assertTrue(RpcUtils.deleteUser(u, url, account, password.toCharArray()));
break;
}
}
@@ -235,13 +243,13 @@ public class RpcTests extends TestCase { @Test
public void testSettings() throws Exception {
ServerSettings settings = RpcUtils.getSettings(url, account, password.toCharArray());
- assertTrue("No settings were retrieved!", settings != null);
+ assertNotNull("No settings were retrieved!", settings);
}
@Test
public void testServerStatus() throws Exception {
ServerStatus status = RpcUtils.getStatus(url, account, password.toCharArray());
- assertTrue("No status was retrieved!", status != null);
+ assertNotNull("No status was retrieved!", status);
}
@Test
@@ -272,7 +280,7 @@ public class RpcTests extends TestCase { public void testBranches() throws Exception {
Map<String, Collection<String>> branches = RpcUtils.getBranches(url, account,
password.toCharArray());
- assertTrue(branches != null);
+ assertNotNull(branches);
assertTrue(branches.size() > 0);
}
}
diff --git a/tests/com/gitblit/tests/StringUtilsTest.java b/tests/com/gitblit/tests/StringUtilsTest.java index 489972a7..71d055f4 100644 --- a/tests/com/gitblit/tests/StringUtilsTest.java +++ b/tests/com/gitblit/tests/StringUtilsTest.java @@ -15,15 +15,20 @@ */
package com.gitblit.tests;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
import java.util.Arrays;
import java.util.List;
-import junit.framework.TestCase;
+import org.junit.Test;
import com.gitblit.utils.StringUtils;
-public class StringUtilsTest extends TestCase {
+public class StringUtilsTest {
+ @Test
public void testIsEmpty() throws Exception {
assertTrue(StringUtils.isEmpty(null));
assertTrue(StringUtils.isEmpty(""));
@@ -31,86 +36,99 @@ public class StringUtilsTest extends TestCase { assertFalse(StringUtils.isEmpty("A"));
}
+ @Test
public void testBreakLinesForHtml() throws Exception {
String input = "this\nis\r\na\rtest\r\n\r\nof\n\nline\r\rbreaking";
String output = "this<br/>is<br/>a<br/>test<br/><br/>of<br/><br/>line<br/><br/>breaking";
- assertTrue(StringUtils.breakLinesForHtml(input).equals(output));
+ assertEquals(output, StringUtils.breakLinesForHtml(input));
}
+ @Test
public void testEncodeUrl() throws Exception {
String input = "test /";
String output = "test%20%2F";
- assertTrue(StringUtils.encodeURL(input).equals(output));
+ assertEquals(output, StringUtils.encodeURL(input));
}
+ @Test
public void testEscapeForHtml() throws Exception {
String input = "& < > \" \t";
String outputNoChange = "& < > " \t";
String outputChange = "& < > " ";
- assertTrue(StringUtils.escapeForHtml(input, false).equals(outputNoChange));
- assertTrue(StringUtils.escapeForHtml(input, true).equals(outputChange));
+ assertEquals(outputNoChange, StringUtils.escapeForHtml(input, false));
+ assertEquals(outputChange, StringUtils.escapeForHtml(input, true));
}
+ @Test
public void testDecodeForHtml() throws Exception {
String input = "& < > "";
String output = "& < > \"";
- assertTrue(StringUtils.decodeFromHtml(input).equals(output));
+ assertEquals(output, StringUtils.decodeFromHtml(input));
}
+ @Test
public void testFlattenStrings() throws Exception {
String[] strings = { "A", "B", "C", "D" };
- assertTrue(StringUtils.flattenStrings(Arrays.asList(strings)).equals("A B C D"));
+ assertEquals("A B C D", StringUtils.flattenStrings(Arrays.asList(strings)));
}
+ @Test
public void testTrim() throws Exception {
String input = "123456789 123456789 123456789 123456789 123456789 123456789 123456789 ";
String output = "123456789 123456789 123456789 123456789 123456789 1234567...";
- assertTrue(StringUtils.trimShortLog(input).equals(output));
- assertTrue(StringUtils.trimString(input, input.length()).equals(input));
+ assertEquals(output, StringUtils.trimShortLog(input));
+ assertEquals(input, StringUtils.trimString(input, input.length()));
}
+ @Test
public void testPadding() throws Exception {
String input = "test";
- assertTrue(StringUtils.leftPad(input, 6 + input.length(), ' ').equals(" test"));
- assertTrue(StringUtils.rightPad(input, 6 + input.length(), ' ').equals("test "));
+ assertEquals(" test", StringUtils.leftPad(input, 6 + input.length(), ' '));
+ assertEquals("test ", StringUtils.rightPad(input, 6 + input.length(), ' '));
- assertTrue(StringUtils.leftPad(input, input.length(), ' ').equals(input));
- assertTrue(StringUtils.rightPad(input, input.length(), ' ').equals(input));
+ assertEquals(input, StringUtils.leftPad(input, input.length(), ' '));
+ assertEquals(input, StringUtils.rightPad(input, input.length(), ' '));
}
+ @Test
public void testSHA1() throws Exception {
- assertTrue(StringUtils.getSHA1("blob 16\000what is up, doc?").equals(
- "bd9dbf5aae1a3862dd1526723246b20206e5fc37"));
+ assertEquals("bd9dbf5aae1a3862dd1526723246b20206e5fc37",
+ StringUtils.getSHA1("blob 16\000what is up, doc?"));
}
+ @Test
public void testMD5() throws Exception {
- assertTrue(StringUtils.getMD5("blob 16\000what is up, doc?").equals(
- "77fb8d95331f0d557472f6776d3aedf6"));
+ assertEquals("77fb8d95331f0d557472f6776d3aedf6",
+ StringUtils.getMD5("blob 16\000what is up, doc?"));
}
+ @Test
public void testRootPath() throws Exception {
String input = "/nested/path/to/repository";
String output = "/nested/path/to";
- assertTrue(StringUtils.getRootPath(input).equals(output));
- assertTrue(StringUtils.getRootPath("repository").equals(""));
+ assertEquals(output, StringUtils.getRootPath(input));
+ assertEquals("", StringUtils.getRootPath("repository"));
}
+ @Test
public void testStringsFromValue() throws Exception {
List<String> strings = StringUtils.getStringsFromValue("A B C D");
- assertTrue(strings.size() == 4);
- assertTrue(strings.get(0).equals("A"));
- assertTrue(strings.get(1).equals("B"));
- assertTrue(strings.get(2).equals("C"));
- assertTrue(strings.get(3).equals("D"));
+ assertEquals(4, strings.size());
+ assertEquals("A", strings.get(0));
+ assertEquals("B", strings.get(1));
+ assertEquals("C", strings.get(2));
+ assertEquals("D", strings.get(3));
}
+ @Test
public void testStringsFromValue2() throws Exception {
List<String> strings = StringUtils.getStringsFromValue("common/* libraries/*");
- assertTrue(strings.size() == 2);
- assertTrue(strings.get(0).equals("common/*"));
- assertTrue(strings.get(1).equals("libraries/*"));
+ assertEquals(2, strings.size());
+ assertEquals("common/*", strings.get(0));
+ assertEquals("libraries/*", strings.get(1));
}
+ @Test
public void testFuzzyMatching() throws Exception {
assertTrue(StringUtils.fuzzyMatch("12345", "12345"));
assertTrue(StringUtils.fuzzyMatch("AbCdEf", "abcdef"));
diff --git a/tests/com/gitblit/tests/SyndicationUtilsTest.java b/tests/com/gitblit/tests/SyndicationUtilsTest.java index 448874f4..ca6678de 100644 --- a/tests/com/gitblit/tests/SyndicationUtilsTest.java +++ b/tests/com/gitblit/tests/SyndicationUtilsTest.java @@ -15,6 +15,9 @@ */
package com.gitblit.tests;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
import java.io.ByteArrayOutputStream;
import java.util.ArrayList;
import java.util.Date;
@@ -22,14 +25,15 @@ import java.util.HashSet; import java.util.List;
import java.util.Set;
-import junit.framework.TestCase;
+import org.junit.Test;
import com.gitblit.Constants.SearchType;
import com.gitblit.models.FeedEntryModel;
import com.gitblit.utils.SyndicationUtils;
-public class SyndicationUtilsTest extends TestCase {
+public class SyndicationUtilsTest {
+ @Test
public void testSyndication() throws Exception {
List<FeedEntryModel> entries = new ArrayList<FeedEntryModel>();
for (int i = 0; i < 10; i++) {
@@ -58,12 +62,12 @@ public class SyndicationUtilsTest extends TestCase { assertTrue(feed.indexOf("<description>Description</description>") > -1);
}
+ @Test
public void testFeedRead() throws Exception {
Set<String> links = new HashSet<String>();
for (int i = 0; i < 2; i++) {
- List<FeedEntryModel> feed = SyndicationUtils.readFeed(GitBlitSuite.url,
- "ticgit.git", "deving", 5, i, GitBlitSuite.account,
- GitBlitSuite.password.toCharArray());
+ List<FeedEntryModel> feed = SyndicationUtils.readFeed(GitBlitSuite.url, "ticgit.git",
+ "deving", 5, i, GitBlitSuite.account, GitBlitSuite.password.toCharArray());
assertTrue(feed != null);
assertTrue(feed.size() > 0);
assertEquals(5, feed.size());
@@ -75,10 +79,11 @@ public class SyndicationUtilsTest extends TestCase { 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, GitBlitSuite.account,
- GitBlitSuite.password.toCharArray());
+ List<FeedEntryModel> feed = SyndicationUtils
+ .readSearchFeed(GitBlitSuite.url, "ticgit.git", null, "test", null, 5, 0,
+ GitBlitSuite.account, GitBlitSuite.password.toCharArray());
assertTrue(feed != null);
assertTrue(feed.size() > 0);
assertEquals(5, feed.size());
diff --git a/tests/com/gitblit/tests/TicgitUtilsTest.java b/tests/com/gitblit/tests/TicgitUtilsTest.java index 9f5a488b..a77dae43 100644 --- a/tests/com/gitblit/tests/TicgitUtilsTest.java +++ b/tests/com/gitblit/tests/TicgitUtilsTest.java @@ -15,31 +15,38 @@ */
package com.gitblit.tests;
-import java.util.List;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
-import junit.framework.TestCase;
+import java.util.List;
import org.eclipse.jgit.lib.Repository;
+import org.junit.Test;
import com.gitblit.models.RefModel;
import com.gitblit.models.TicketModel;
import com.gitblit.models.TicketModel.Comment;
import com.gitblit.utils.TicgitUtils;
-public class TicgitUtilsTest extends TestCase {
+public class TicgitUtilsTest {
+ @Test
public void testTicgitBranch() throws Exception {
Repository repository = GitBlitSuite.getTicgitRepository();
RefModel branch = TicgitUtils.getTicketsBranch(repository);
repository.close();
- assertTrue("Ticgit branch does not exist!", branch != null);
+ assertNotNull("Ticgit branch does not exist!", branch);
repository = GitBlitSuite.getHelloworldRepository();
branch = TicgitUtils.getTicketsBranch(repository);
repository.close();
- assertTrue("Ticgit branch exists!", branch == null);
+ assertNull("Ticgit branch exists!", branch);
}
+ @Test
public void testRetrieveTickets() throws Exception {
Repository repository = GitBlitSuite.getTicgitRepository();
List<TicketModel> ticketsA = TicgitUtils.getTickets(repository);
@@ -57,24 +64,26 @@ public class TicgitUtilsTest extends TestCase { Comment commentB = ticketB.comments.get(j);
assertTrue("Comments are not equal!", commentA.equals(commentB));
assertFalse(commentA.equals(""));
- assertTrue(commentA.hashCode() == commentA.text.hashCode());
+ assertEquals(commentA.hashCode(), commentA.text.hashCode());
}
}
repository = GitBlitSuite.getHelloworldRepository();
List<TicketModel> ticketsC = TicgitUtils.getTickets(repository);
repository.close();
- assertTrue(ticketsC == null);
+ assertNull(ticketsC);
}
+ @Test
public void testReadTicket() throws Exception {
Repository repository = GitBlitSuite.getTicgitRepository();
List<TicketModel> tickets = TicgitUtils.getTickets(repository);
TicketModel ticket = TicgitUtils
.getTicket(repository, tickets.get(tickets.size() - 1).name);
repository.close();
- assertTrue(ticket != null);
- assertTrue(ticket.name
- .equals("1254123752_comments-on-ticgits-longer-than-5-lines-can-t-be-viewed-entirely_266"));
+ assertNotNull(ticket);
+ assertEquals(
+ "1254123752_comments-on-ticgits-longer-than-5-lines-can-t-be-viewed-entirely_266",
+ ticket.name);
}
}
\ No newline at end of file diff --git a/tests/com/gitblit/tests/TimeUtilsTest.java b/tests/com/gitblit/tests/TimeUtilsTest.java index 530e53c9..9d94df89 100644 --- a/tests/com/gitblit/tests/TimeUtilsTest.java +++ b/tests/com/gitblit/tests/TimeUtilsTest.java @@ -15,18 +15,22 @@ */
package com.gitblit.tests;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
import java.util.Date;
-import junit.framework.TestCase;
+import org.junit.Test;
import com.gitblit.utils.TimeUtils;
-public class TimeUtilsTest extends TestCase {
+public class TimeUtilsTest {
private Date offset(long subtract) {
return new Date(System.currentTimeMillis() - subtract);
}
+ @Test
public void testBasicTimeFunctions() throws Exception {
assertEquals(2, TimeUtils.minutesAgo(offset(2 * TimeUtils.MIN), false));
assertEquals(3, TimeUtils.minutesAgo(offset((2 * TimeUtils.MIN) + (35 * 1000L)), true));
@@ -37,14 +41,17 @@ public class TimeUtilsTest extends TestCase { assertEquals(4, TimeUtils.daysAgo(offset(4 * TimeUtils.ONEDAY)));
}
+ @Test
public void testToday() throws Exception {
assertTrue(TimeUtils.isToday(new Date()));
}
+ @Test
public void testYesterday() throws Exception {
assertTrue(TimeUtils.isYesterday(offset(TimeUtils.ONEDAY)));
}
+ @Test
public void testDurations() throws Exception {
assertEquals("1 day", TimeUtils.duration(1));
assertEquals("5 days", TimeUtils.duration(5));
@@ -67,6 +74,7 @@ public class TimeUtilsTest extends TestCase { assertEquals("2 years, 2 months", TimeUtils.duration(2 * 365 + 60));
}
+ @Test
public void testTimeAgo() throws Exception {
// standard time ago tests
assertEquals("1 min ago", TimeUtils.timeAgo(offset(1 * TimeUtils.MIN)));
@@ -91,6 +99,7 @@ public class TimeUtilsTest extends TestCase { assertEquals("age2", TimeUtils.timeAgoCss(offset(2 * TimeUtils.ONEDAY)));
}
+ @Test
public void testFrequency() {
assertEquals(5, TimeUtils.convertFrequencyToMinutes("2 mins"));
assertEquals(10, TimeUtils.convertFrequencyToMinutes("10 mins"));
diff --git a/tests/com/gitblit/tests/UserServiceTest.java b/tests/com/gitblit/tests/UserServiceTest.java index 3dfdf7ac..3f410fa5 100644 --- a/tests/com/gitblit/tests/UserServiceTest.java +++ b/tests/com/gitblit/tests/UserServiceTest.java @@ -15,33 +15,42 @@ */
package com.gitblit.tests;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
import java.io.File;
import java.io.IOException;
-import junit.framework.TestCase;
+import org.junit.Test;
import com.gitblit.ConfigUserService;
import com.gitblit.FileUserService;
import com.gitblit.IUserService;
+import com.gitblit.models.TeamModel;
import com.gitblit.models.UserModel;
-public class UserServiceTest extends TestCase {
+public class UserServiceTest {
+ @Test
public void testFileUserService() throws IOException {
File file = new File("us-test.properties");
file.delete();
- test(new FileUserService(file));
+ IUserService service = new FileUserService(file);
+ testUsers(service);
file.delete();
}
+ @Test
public void testConfigUserService() throws IOException {
File file = new File("us-test.conf");
file.delete();
- test(new ConfigUserService(file));
+ IUserService service = new ConfigUserService(file);
+ testUsers(service);
file.delete();
}
- protected void test(IUserService service) {
+ protected void testUsers(IUserService service) {
UserModel admin = service.getUserModel("admin");
assertTrue(admin == null);
|