From dcaa6afa979c88bdcdb738f3ace849f5747c55e0 Mon Sep 17 00:00:00 2001 From: Yiwei Zhang Date: Mon, 11 Nov 2024 21:34:55 +0000 Subject: [PATCH] gerrit_client: introduce add message command Bug: 378480632 Change-Id: I411b3136db27a5ca2b43481bc9b650bef93f5275 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6012758 Auto-Submit: Yiwei Zhang Commit-Queue: Yiwei Zhang Reviewed-by: Scott Lee --- gerrit_client.py | 24 ++++++++++++++++++++++++ tests/gerrit_client_test.py | 17 +++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/gerrit_client.py b/gerrit_client.py index bd9b15192..e3b20b648 100755 --- a/gerrit_client.py +++ b/gerrit_client.py @@ -393,6 +393,30 @@ def CMDsetlabel(parser, args): write_result(result, opt) +@subcommand.usage('[args ...]') +def CMDaddMessage(parser, args): + """Adds a message to a given change at given revision.""" + parser.add_option('-c', '--change', type=int, help='change number') + parser.add_option( + '-r', + '--revision', + type=str, + default='current', + help='revision ID. See ' + 'https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#revision-id ' # pylint: disable=line-too-long + 'for acceptable format') + parser.add_option('-m', '--message', type=str, help='message to add') + (opt, args) = parser.parse_args(args) + assert opt.change, "-c not defined" + assert opt.message, "-m not defined" + result = gerrit_util.SetReview(urllib.parse.urlparse(opt.host).netloc, + opt.change, + revision=opt.revision, + msg=opt.message) + logging.info(result) + write_result(result, opt) + + @subcommand.usage('') def CMDrestore(parser, args): """Restores a Gerrit change.""" diff --git a/tests/gerrit_client_test.py b/tests/gerrit_client_test.py index 7b3b111d1..0764628db 100755 --- a/tests/gerrit_client_test.py +++ b/tests/gerrit_client_test.py @@ -158,6 +158,23 @@ class TestGerritClient(unittest.TestCase): 1, labels={'some-label': '-2'}) + @mock.patch('gerrit_util.SetReview', return_value='') + def test_addmessage(self, util_mock): + gerrit_client.main([ + 'addmessage', + '--host', + 'https://example.org/foo', + '-c', + '1', + '-r', + '2', + '-m', + 'This is a message', + ]) + util_mock.assert_called_once_with('example.org', + 1, + revision='2', + msg='This is a message') if __name__ == '__main__': logging.basicConfig(