git cl set-commit: for Gerrit + dry-run support.

This provides workaround for not functioning git cl try.

R=sergiyb@chromium.org,andybons@chromium.org,phajdan.jr@chromium.org
BUG=599931

Review URL: https://codereview.chromium.org/1889483002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299900 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/tests/git_cl_test.py b/tests/git_cl_test.py
index 4797288..8eacfbb 100755
--- a/tests/git_cl_test.py
+++ b/tests/git_cl_test.py
@@ -1300,6 +1300,36 @@
     })
     self.assertIsNone(cl.EnsureAuthenticated(force=False))
 
+  def test_cmd_set_commit_rietveld(self):
+    self.mock(git_cl._RietveldChangelistImpl, 'SetFlag',
+              lambda _, f, v: self._mocked_call(['SetFlag', f, v]))
+    self.calls = [
+        ((['git', 'symbolic-ref', 'HEAD'],), 'feature'),
+        ((['git', 'config', 'branch.feature.rietveldissue'],), '123'),
+        ((['git', 'config', 'rietveld.autoupdate'],), ''),
+        ((['git', 'config', 'rietveld.server'],), ''),
+        ((['git', 'config', 'rietveld.server'],), ''),
+        ((['git', 'config', 'branch.feature.rietveldserver'],),
+         'https://codereview.chromium.org'),
+        ((['SetFlag', 'commit', '1'], ), ''),
+    ]
+    self.assertEqual(0, git_cl.main(['set-commit']))
+
+  def test_cmd_set_commit_gerrit(self):
+    self.mock(git_cl.gerrit_util, 'SetReview',
+              lambda h, i, labels: self._mocked_call(
+                  ['SetReview', h, i, labels]))
+    self.calls = [
+        ((['git', 'symbolic-ref', 'HEAD'],), 'feature'),
+        ((['git', 'config', 'branch.feature.rietveldissue'],), ''),
+        ((['git', 'config', 'branch.feature.gerritissue'],), '123'),
+        ((['git', 'config', 'branch.feature.gerritserver'],),
+         'https://chromium-review.googlesource.com'),
+        ((['SetReview', 'chromium-review.googlesource.com', 123,
+           {'Commit-Queue': 1}],), ''),
+    ]
+    self.assertEqual(0, git_cl.main(['set-commit', '-d']))
+
 
 if __name__ == '__main__':
   git_cl.logging.basicConfig(