Index: tests/pending_manager_test.py |
diff --git a/tests/pending_manager_test.py b/tests/pending_manager_test.py |
index e3ef78efcce7e80fc3842cb847b212efb92ea0ed..4033e9ac2c6eb3d7c7b52563f4effa5dfdf6e934 100755 |
--- a/tests/pending_manager_test.py |
+++ b/tests/pending_manager_test.py |
@@ -102,6 +102,7 @@ class FakeRietveld(object): |
"commit": True, |
}, |
} |
+ self.patchsets = [] |
def get_pending_issues(self): |
return self.issues.keys() |
@@ -122,11 +123,12 @@ class FakeRietveld(object): |
pass |
def get_patch(self, issue, patchset): |
- return patch.PatchSet([ |
+ self.patchsets.append(patch.PatchSet([ |
patch.FilePatchDiff('chrome/file.cc', SVN_PATCH, []), |
patch.FilePatchDelete('other/place/foo', True), |
patch.FilePatchBinary('foo', 'data', []), |
- ]) |
+ ])) |
+ return self.patchsets[-1] |
class FakeCheckout(object): |
@@ -140,30 +142,30 @@ class FakeCheckout(object): |
def prepare(self): |
self._prepare += 1 |
- def apply_patch(self, patchset): |
- self._apply_patch.append(patchset) |
+ def apply_patch(self, *args): |
+ self._apply_patch.append(args) |
- def commit(self, message, author): |
- self._commit.append((message, author)) |
+ def commit(self, *args): |
+ self._commit.append(args) |
def get_settings(self, key): |
return None |
-class PendingManager(unittest.TestCase): |
+class TestPendingManager(unittest.TestCase): |
def setUp(self): |
- super(PendingManager, self).setUp() |
+ super(TestPendingManager, self).setUp() |
self.root_dir = ROOT_DIR |
self._old_send_stack = pending_manager.breakpad.SendStack |
pending_manager.breakpad.SendStack = _SendStackFail |
def tearDown(self): |
pending_manager.breakpad.SendStack = self._old_send_stack |
- super(PendingManager, self).tearDown() |
+ super(TestPendingManager, self).tearDown() |
def testLoadSave(self): |
pc = pending_manager.PendingManager( |
- None, None, [fake.FakeVerifier(base.SUCCEEDED)], []) |
+ None, None, [fake.FakeVerifier(base.SUCCEEDED)], [], []) |
filename = os.path.join(self.root_dir, 'foo.json') |
empty = """{ |
"__persistent_module__": "pending_manager", |
@@ -184,7 +186,7 @@ class PendingManager(unittest.TestCase): |
def _get_pc(self, verifiers_no_patch, verifiers): |
pc = pending_manager.PendingManager( |
- FakeRietveld(), FakeCheckout(), verifiers_no_patch, verifiers) |
+ FakeRietveld(), FakeCheckout(), verifiers_no_patch, verifiers, []) |
def apply_patch(pending, revision): |
pc._patch_applied = True |
@@ -196,7 +198,7 @@ class PendingManager(unittest.TestCase): |
def testNoVerification(self): |
try: |
pending_manager.PendingManager( |
- FakeRietveld(), FakeCheckout(), [], []) |
+ FakeRietveld(), FakeCheckout(), [], [], []) |
self.fail() |
except AssertionError: |
pass |
@@ -205,7 +207,8 @@ class PendingManager(unittest.TestCase): |
FakeRietveld(), |
FakeCheckout(), |
[fake.FakeVerifier(base.SUCCEEDED)], |
- [fake.FakeVerifier(base.SUCCEEDED)]) |
+ [fake.FakeVerifier(base.SUCCEEDED)], |
+ []) |
self.fail() |
except AssertionError: |
pass |
@@ -410,27 +413,31 @@ class PendingManager(unittest.TestCase): |
project_base.ProjectBaseUrlVerifier( |
[r'^%s(.*)$' % re.escape(r'http://example.com/')]), |
] |
+ r = FakeRietveld() |
+ processors = [object()] |
pc = pending_manager.PendingManager( |
- FakeRietveld(), FakeCheckout(), verifiers, []) |
+ r, FakeCheckout(), verifiers, [], processors) |
pc.rietveld.issues[31337]['base_url'] = 'http://example.com/sub/dir' |
pc.look_for_new_pending_commit() |
self.assertEquals(1, len(pc.queue.pending_commits)) |
pc.process_new_pending_commit() |
self.assertEquals('sub/dir', pc.queue.pending_commits[0].relpath) |
self.assertEquals(1, pc.checkout._prepare) |
- self.assertEquals(1, len(pc.checkout._apply_patch)) |
+ self.assertEquals([(r.patchsets[0], processors)], pc.checkout._apply_patch) |
self.assertEquals([], pc.checkout._commit) |
pc.update_status() |
self.assertEquals(1, pc.checkout._prepare) |
- self.assertEquals(1, len(pc.checkout._apply_patch)) |
+ self.assertEquals([(r.patchsets[0], processors)], pc.checkout._apply_patch) |
self.assertEquals([], pc.checkout._commit) |
patches = pc.checkout._apply_patch[0] |
self.assertEquals( |
['sub/dir/chrome/file.cc', 'sub/dir/other/place/foo', 'sub/dir/foo'], |
- patches.filenames) |
+ patches[0].filenames) |
pc.scan_results() |
self.assertEquals(2, pc.checkout._prepare) |
- self.assertEquals(2, len(pc.checkout._apply_patch)) |
+ self.assertEquals( |
+ [(r.patchsets[0], processors), (r.patchsets[1], processors)], |
+ pc.checkout._apply_patch) |
self.assertEquals( |
[('foo\n\nReview URL: http://nowhere/31337', 'author@example.com')], |
pc.checkout._commit) |