Quellcode durchsuchen

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 <yiwzhang@google.com>
Commit-Queue: Yiwei Zhang <yiwzhang@google.com>
Reviewed-by: Scott Lee <ddoman@chromium.org>
Yiwei Zhang vor 9 Monaten
Ursprung
Commit
dcaa6afa97
2 geänderte Dateien mit 41 neuen und 0 gelöschten Zeilen
  1. 24 0
      gerrit_client.py
  2. 17 0
      tests/gerrit_client_test.py

+ 24 - 0
gerrit_client.py

@@ -393,6 +393,30 @@ def CMDsetlabel(parser, args):
     write_result(result, opt)
     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('')
 @subcommand.usage('')
 def CMDrestore(parser, args):
 def CMDrestore(parser, args):
     """Restores a Gerrit change."""
     """Restores a Gerrit change."""

+ 17 - 0
tests/gerrit_client_test.py

@@ -158,6 +158,23 @@ class TestGerritClient(unittest.TestCase):
                                           1,
                                           1,
                                           labels={'some-label': '-2'})
                                           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__':
 if __name__ == '__main__':
     logging.basicConfig(
     logging.basicConfig(