blob: d95e5892972b567b74a16a5d9d924b75534aab5d [file] [log] [blame]
import unittest
from allura import model as M
from alluratest.controller import setup_unit_test
class TestCommitRunBuilder(unittest.TestCase):
def setUp(self):
setup_unit_test()
commits = [
M.repo.CommitDoc.make(dict(
_id=str(i)))
for i in range(10) ]
for p,c in zip(commits, commits[1:]):
p.child_ids = [ c._id ]
c.parent_ids = [ p._id ]
for ci in commits:
ci.m.save()
self.commits = commits
def test_single_pass(self):
crb = M.repo_refresh.CommitRunBuilder(
[ci._id for ci in self.commits])
crb.run()
self.assertEqual(M.repo.CommitRunDoc.m.count(), 1)
def test_two_pass(self):
crb = M.repo_refresh.CommitRunBuilder(
[ci._id for ci in self.commits[:5]])
crb.run()
crb = M.repo_refresh.CommitRunBuilder(
[ci._id for ci in self.commits[5:]])
crb.run()
self.assertEqual(M.repo.CommitRunDoc.m.count(), 2)
crb.cleanup()
self.assertEqual(M.repo.CommitRunDoc.m.count(), 1)
def test_svn_like(self):
for ci in self.commits:
crb = M.repo_refresh.CommitRunBuilder([ci._id])
crb.run()
crb.cleanup()
self.assertEqual(M.repo.CommitRunDoc.m.count(), 1)
def test_reversed(self):
for ci in reversed(self.commits):
crb = M.repo_refresh.CommitRunBuilder([ci._id])
crb.run()
crb.cleanup()
self.assertEqual(M.repo.CommitRunDoc.m.count(), 1)