git cl: safe fallback for Gerrit RPCs even if gerrit project is unknown.
R=ehmaldonado
Bug: 876910
Change-Id: I258efa0a95f20b80819bc89cccfb5e0a29e09d5c
Reviewed-on: https://chromium-review.googlesource.com/1188989
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
diff --git a/tests/git_cl_test.py b/tests/git_cl_test.py
index ba3a643..3cd13d8 100755
--- a/tests/git_cl_test.py
+++ b/tests/git_cl_test.py
@@ -3450,7 +3450,7 @@
self.assertEqual(cl.GetRemoteUrl(), url)
self.assertEqual(cl.GetRemoteUrl(), url) # Must be cached.
- def test_gerrit_project_detection(self):
+ def test_gerrit_change_identifier_with_project(self):
self.calls = [
((['git', 'symbolic-ref', 'HEAD'],), 'master'),
((['git', 'config', 'branch.master.merge'],), 'master'),
@@ -3458,8 +3458,18 @@
((['git', 'config', 'remote.origin.url'],),
'https://chromium.googlesource.com/a/my/repo.git/'),
]
- cl = git_cl.Changelist(codereview='gerrit', issue=1)
- self.assertEqual(cl._GetGerritProject(), 'my/repo')
+ cl = git_cl.Changelist(codereview='gerrit', issue=123456)
+ self.assertEqual(cl._GerritChangeIdentifier(), 'my%2Frepo~123456')
+
+ def test_gerrit_change_identifier_without_project(self):
+ self.calls = [
+ ((['git', 'symbolic-ref', 'HEAD'],), 'master'),
+ ((['git', 'config', 'branch.master.merge'],), 'master'),
+ ((['git', 'config', 'branch.master.remote'],), 'origin'),
+ ((['git', 'config', 'remote.origin.url'],), CERR1),
+ ]
+ cl = git_cl.Changelist(codereview='gerrit', issue=123456)
+ self.assertEqual(cl._GerritChangeIdentifier(), '123456')
if __name__ == '__main__':