James Moger
2011-11-10 c7a721aad7c23640d59ad682854e066f4538436c
tests/com/gitblit/tests/JGitUtilsTest.java
@@ -33,6 +33,7 @@
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 com.gitblit.GitBlit;
import com.gitblit.Keys;
@@ -41,7 +42,6 @@
import com.gitblit.models.PathModel.PathChangeModel;
import com.gitblit.models.RefModel;
import com.gitblit.utils.JGitUtils;
import com.gitblit.utils.JGitUtils.SearchType;
import com.gitblit.utils.StringUtils;
public class JGitUtilsTest extends TestCase {
@@ -85,11 +85,11 @@
   }
   public void testLastCommit() throws Exception {
      assertTrue(JGitUtils.getLastChange(null).equals(new Date(0)));
      assertTrue(JGitUtils.getLastChange(null, null).equals(new Date(0)));
      Repository repository = GitBlitSuite.getHelloworldRepository();
      assertTrue(JGitUtils.getCommit(repository, null) != null);
      Date date = JGitUtils.getLastChange(repository);
      Date date = JGitUtils.getLastChange(repository, null);
      repository.close();
      assertTrue("Could not get last repository change date!", date != null);
   }
@@ -106,7 +106,7 @@
         assertTrue(JGitUtils.getFirstCommit(repository, null) == null);
         assertTrue(JGitUtils.getFirstChange(repository, null).getTime() == folder
               .lastModified());
         assertTrue(JGitUtils.getLastChange(repository).getTime() == folder.lastModified());
         assertTrue(JGitUtils.getLastChange(repository, null).getTime() == folder.lastModified());
         assertTrue(JGitUtils.getCommit(repository, null) == null);
         repository.close();
         assertTrue(GitBlit.self().deleteRepository(repositoryName));
@@ -138,6 +138,7 @@
   public void testBranches() throws Exception {
      Repository repository = GitBlitSuite.getJGitRepository();
      assertTrue(JGitUtils.getLocalBranches(repository, true, 0).size() == 0);
      for (RefModel model : JGitUtils.getLocalBranches(repository, true, -1)) {
         assertTrue(model.getName().startsWith(Constants.R_HEADS));
         assertTrue(model.equals(model));
@@ -160,6 +161,7 @@
   public void testTags() throws Exception {
      Repository repository = GitBlitSuite.getJGitRepository();
      assertTrue(JGitUtils.getTags(repository, true, 5).size() == 5);
      for (RefModel model : JGitUtils.getTags(repository, true, -1)) {
         if (model.getObjectId().getName().equals("d28091fb2977077471138fe97da1440e0e8ae0da")) {
            assertTrue("Not an annotated tag!", model.isAnnotatedTag());
@@ -193,6 +195,13 @@
      assertTrue(list.size() > 0);
      assertTrue(list.get(0).notesRef.getReferencedObjectId().getName()
            .equals("183474d554e6f68478a02d9d7888b67a9338cdff"));
   }
   public void testCreateOrphanedBranch() throws Exception {
      Repository repository = JGitUtils.createRepository(GitBlitSuite.REPOSITORIES, "orphantest");
      assertTrue(JGitUtils.createOrphanBranch(repository,
            "x" + Long.toHexString(System.currentTimeMillis()).toUpperCase()));
      FileUtils.delete(repository.getDirectory(), FileUtils.RECURSIVE);
   }
   public void testStringContent() throws Exception {
@@ -276,6 +285,7 @@
   }
   public void testRevlog() throws Exception {
      assertTrue(JGitUtils.getRevLog(null, 0).size() == 0);
      List<RevCommit> commits = JGitUtils.getRevLog(null, 10);
      assertTrue(commits.size() == 0);
@@ -295,36 +305,37 @@
   }
   public void testSearchTypes() throws Exception {
      assertTrue(SearchType.forName("commit").equals(SearchType.COMMIT));
      assertTrue(SearchType.forName("committer").equals(SearchType.COMMITTER));
      assertTrue(SearchType.forName("author").equals(SearchType.AUTHOR));
      assertTrue(SearchType.forName("unknown").equals(SearchType.COMMIT));
      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(SearchType.COMMIT.toString().equals("commit"));
      assertTrue(SearchType.COMMITTER.toString().equals("committer"));
      assertTrue(SearchType.AUTHOR.toString().equals("author"));
      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"));
   }
   public void testSearchRevlogs() throws Exception {
      List<RevCommit> results = JGitUtils.searchRevlogs(null, null, "java", SearchType.COMMIT, 0,
      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,
            3);
      assertTrue(results.size() == 0);
      // test commit message search
      Repository repository = GitBlitSuite.getHelloworldRepository();
      results = JGitUtils.searchRevlogs(repository, null, "java", SearchType.COMMIT, 0, 3);
      results = JGitUtils.searchRevlogs(repository, null, "java", com.gitblit.Constants.SearchType.COMMIT, 0, 3);
      assertTrue(results.size() == 3);
      // test author search
      results = JGitUtils.searchRevlogs(repository, null, "timothy", SearchType.AUTHOR, 0, -1);
      results = JGitUtils.searchRevlogs(repository, null, "timothy", com.gitblit.Constants.SearchType.AUTHOR, 0, -1);
      assertTrue(results.size() == 1);
      // test committer search
      results = JGitUtils.searchRevlogs(repository, null, "mike", SearchType.COMMITTER, 0, 10);
      results = JGitUtils.searchRevlogs(repository, null, "mike", com.gitblit.Constants.SearchType.COMMITTER, 0, 10);
      assertTrue(results.size() == 10);
      // test paging and offset
      RevCommit commit = JGitUtils.searchRevlogs(repository, null, "mike", SearchType.COMMITTER,
      RevCommit commit = JGitUtils.searchRevlogs(repository, null, "mike", com.gitblit.Constants.SearchType.COMMITTER,
            9, 1).get(0);
      assertTrue(results.get(9).equals(commit));
@@ -353,4 +364,5 @@
      assertTrue(zipFileB.length() > 0);
      zipFileB.delete();
   }
}