Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 """Unit tests for git_cl.py.""" | 6 """Unit tests for git_cl.py.""" |
| 7 | 7 |
| 8 import os | 8 import os |
| 9 import StringIO | 9 import StringIO |
| 10 import stat | 10 import stat |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 55 return { | 55 return { |
| 56 'reviewers': ['joe@chromium.org', 'john@chromium.org'], | 56 'reviewers': ['joe@chromium.org', 'john@chromium.org'], |
| 57 'messages': [ | 57 'messages': [ |
| 58 { | 58 { |
| 59 'approval': True, | 59 'approval': True, |
| 60 'sender': 'john@chromium.org', | 60 'sender': 'john@chromium.org', |
| 61 }, | 61 }, |
| 62 ], | 62 ], |
| 63 } | 63 } |
| 64 | 64 |
| 65 @staticmethod | |
| 66 def close_issue(_issue): | |
| 67 return 'Closed' | |
| 68 | |
| 65 | 69 |
| 66 class WatchlistsMock(object): | 70 class WatchlistsMock(object): |
| 67 def __init__(self, _): | 71 def __init__(self, _): |
| 68 pass | 72 pass |
| 69 @staticmethod | 73 @staticmethod |
| 70 def GetWatchersForPaths(_): | 74 def GetWatchersForPaths(_): |
| 71 return ['joe@example.com'] | 75 return ['joe@example.com'] |
| 72 | 76 |
| 73 | 77 |
| 74 class CodereviewSettingsFileMock(object): | 78 class CodereviewSettingsFileMock(object): |
| (...skipping 1458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1533 self.assertEqual('foobar\n', out.getvalue()) | 1537 self.assertEqual('foobar\n', out.getvalue()) |
| 1534 | 1538 |
| 1535 def test_StatusFieldOverrideIssueMissingArgs(self): | 1539 def test_StatusFieldOverrideIssueMissingArgs(self): |
| 1536 out = StringIO.StringIO() | 1540 out = StringIO.StringIO() |
| 1537 self.mock(git_cl.sys, 'stderr', out) | 1541 self.mock(git_cl.sys, 'stderr', out) |
| 1538 | 1542 |
| 1539 try: | 1543 try: |
| 1540 self.assertEqual(git_cl.main(['status', '--issue', '1']), 0) | 1544 self.assertEqual(git_cl.main(['status', '--issue', '1']), 0) |
| 1541 except SystemExit as ex: | 1545 except SystemExit as ex: |
| 1542 self.assertEqual(ex.code, 2) | 1546 self.assertEqual(ex.code, 2) |
| 1543 self.assertRegexpMatches(out.getvalue(), r'--issue may only be specified') | 1547 self.assertRegexpMatches(out.getvalue(), r'--issue must be specified') |
| 1544 | 1548 |
| 1545 out = StringIO.StringIO() | 1549 out = StringIO.StringIO() |
| 1546 self.mock(git_cl.sys, 'stderr', out) | 1550 self.mock(git_cl.sys, 'stderr', out) |
| 1547 | 1551 |
| 1548 try: | 1552 try: |
| 1549 self.assertEqual(git_cl.main(['status', '--issue', '1', '--rietveld']), 0) | 1553 self.assertEqual(git_cl.main(['status', '--issue', '1', '--rietveld']), 0) |
| 1550 except SystemExit as ex: | 1554 except SystemExit as ex: |
| 1551 self.assertEqual(ex.code, 2) | 1555 self.assertEqual(ex.code, 2) |
| 1552 self.assertRegexpMatches(out.getvalue(), r'--issue may only be specified') | 1556 self.assertRegexpMatches(out.getvalue(), r'--field must be specified') |
| 1553 | 1557 |
| 1554 def test_StatusFieldOverrideIssue(self): | 1558 def test_StatusFieldOverrideIssue(self): |
| 1555 out = StringIO.StringIO() | 1559 out = StringIO.StringIO() |
| 1556 self.mock(git_cl.sys, 'stdout', out) | 1560 self.mock(git_cl.sys, 'stdout', out) |
| 1557 | 1561 |
| 1558 def assertIssue(cl_self, *_args): | 1562 def assertIssue(cl_self, *_args): |
| 1559 self.assertEquals(cl_self.issue, 1) | 1563 self.assertEquals(cl_self.issue, 1) |
| 1560 return 'foobar' | 1564 return 'foobar' |
| 1561 | 1565 |
| 1562 self.mock(git_cl.Changelist, 'GetDescription', assertIssue) | 1566 self.mock(git_cl.Changelist, 'GetDescription', assertIssue) |
| 1563 self.calls = [ | 1567 self.calls = [ |
| 1564 ((['git', 'config', 'rietveld.autoupdate'],), ''), | 1568 ((['git', 'config', 'rietveld.autoupdate'],), ''), |
| 1565 ((['git', 'config', 'rietveld.server'],), ''), | 1569 ((['git', 'config', 'rietveld.server'],), ''), |
| 1566 ((['git', 'config', 'rietveld.server'],), ''), | 1570 ((['git', 'config', 'rietveld.server'],), ''), |
| 1567 ] | 1571 ] |
| 1568 git_cl.main(['status', '--issue', '1', '--rietveld', '--field', 'desc']) | 1572 self.assertEqual( |
| 1573 git_cl.main(['status', '--issue', '1', '--rietveld', '--field', 'desc']), | |
| 1574 0) | |
| 1569 self.assertEqual(out.getvalue(), 'foobar\n') | 1575 self.assertEqual(out.getvalue(), 'foobar\n') |
| 1570 | 1576 |
| 1577 def test_SetCloseOverrideIssue(self): | |
| 1578 def assertIssue(cl_self, *_args): | |
| 1579 self.assertEquals(cl_self.issue, 1) | |
| 1580 return 'foobar' | |
| 1581 | |
| 1582 self.mock(git_cl.Changelist, 'GetDescription', assertIssue) | |
| 1583 self.mock(git_cl.Changelist, 'CloseIssue', lambda *_: None) | |
| 1584 self.calls = [ | |
| 1585 ((['git', 'config', 'rietveld.autoupdate'],), ''), | |
| 1586 ((['git', 'config', 'rietveld.server'],), ''), | |
| 1587 ((['git', 'config', 'rietveld.server'],), ''), | |
| 1588 ] | |
| 1589 self.assertEqual( | |
| 1590 git_cl.main(['set-close', '--issue', '1', '--rietveld']), 0) | |
| 1591 | |
| 1592 def test_SetCommitOverrideIssue(self): | |
|
tandrii(chromium)
2016/08/17 21:05:31
and with this, commit-queue tool in depot_tools ca
iannucci
2016/08/17 21:37:08
:)
| |
| 1593 def assertIssue(cl_self, *_args): | |
| 1594 self.assertEquals(cl_self.issue, 1) | |
| 1595 return 'foobar' | |
| 1596 | |
| 1597 self.mock(git_cl.Changelist, 'GetDescription', assertIssue) | |
| 1598 self.mock(git_cl.Changelist, 'SetCQState', lambda *_: None) | |
| 1599 self.calls = [ | |
| 1600 ((['git', 'config', 'rietveld.autoupdate'],), ''), | |
| 1601 ((['git', 'config', 'rietveld.server'],), ''), | |
| 1602 ((['git', 'config', 'rietveld.server'],), ''), | |
| 1603 ((['git', 'symbolic-ref', 'HEAD'],), ''), | |
| 1604 ((['git', 'config', 'rietveld.server'],), ''), | |
| 1605 ((['git', 'config', 'rietveld.server'],), ''), | |
| 1606 ] | |
| 1607 self.assertEqual( | |
| 1608 git_cl.main(['set-close', '--issue', '1', '--rietveld']), 0) | |
| 1609 | |
| 1571 def test_description_gerrit(self): | 1610 def test_description_gerrit(self): |
| 1572 out = StringIO.StringIO() | 1611 out = StringIO.StringIO() |
| 1573 self.mock(git_cl.sys, 'stdout', out) | 1612 self.mock(git_cl.sys, 'stdout', out) |
| 1574 self.mock(git_cl.Changelist, 'GetDescription', lambda *args: 'foobar') | 1613 self.mock(git_cl.Changelist, 'GetDescription', lambda *args: 'foobar') |
| 1575 | 1614 |
| 1576 self.assertEqual(0, git_cl.main([ | 1615 self.assertEqual(0, git_cl.main([ |
| 1577 'description', 'https://code.review.org/123123', '-d', '--gerrit'])) | 1616 'description', 'https://code.review.org/123123', '-d', '--gerrit'])) |
| 1578 self.assertEqual('foobar\n', out.getvalue()) | 1617 self.assertEqual('foobar\n', out.getvalue()) |
| 1579 | 1618 |
| 1580 def test_description_set_raw(self): | 1619 def test_description_set_raw(self): |
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1791 ((['rm_file_or_tree', '/abs/git_repo_root/.git/hooks/commit-msg'],), | 1830 ((['rm_file_or_tree', '/abs/git_repo_root/.git/hooks/commit-msg'],), |
| 1792 ''), | 1831 ''), |
| 1793 ] | 1832 ] |
| 1794 cl._codereview_impl._GerritCommitMsgHookCheck(offer_removal=True) | 1833 cl._codereview_impl._GerritCommitMsgHookCheck(offer_removal=True) |
| 1795 | 1834 |
| 1796 | 1835 |
| 1797 if __name__ == '__main__': | 1836 if __name__ == '__main__': |
| 1798 git_cl.logging.basicConfig( | 1837 git_cl.logging.basicConfig( |
| 1799 level=git_cl.logging.DEBUG if '-v' in sys.argv else git_cl.logging.ERROR) | 1838 level=git_cl.logging.DEBUG if '-v' in sys.argv else git_cl.logging.ERROR) |
| 1800 unittest.main() | 1839 unittest.main() |
| OLD | NEW |