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