| 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) |