Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(203)

Unified Diff: appengine/findit/common/test/repo_util_test.py

Issue 2435863003: [Findit] Add local git parsers. (Closed)
Patch Set: Fix nits. Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: appengine/findit/common/test/repo_util_test.py
diff --git a/appengine/findit/common/test/repo_util_test.py b/appengine/findit/common/test/repo_util_test.py
new file mode 100644
index 0000000000000000000000000000000000000000..a3fe9e93541791aeffabaa99616d22e1624ed2e2
--- /dev/null
+++ b/appengine/findit/common/test/repo_util_test.py
@@ -0,0 +1,165 @@
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import json
+import StringIO
+from testing_utils import testing
+import textwrap
+import urllib2
+
+from common import repo_util
+
+
+class RepoUtilTest(testing.AppengineTestCase):
+
+ def testExtractCommitPositionAndCodeReviewUrl(self):
+ testcases = [
+ {
+ 'message':
+ 'balabala...\n'
+ '\n'
+ 'BUG=604502\n'
+ '\n'
+ 'Review-Url: https://codereview.chromium.org/1927593004\n'
+ 'Cr-Commit-Position: refs/heads/master@{#390254}\n',
+ 'commit_position': 390254,
+ 'code_review_url': 'https://codereview.chromium.org/1927593004',
+ },
+ {
+ 'message':
+ 'balabala...\n'
+ '\n'
+ 'BUG=409934\n'
+ '\n'
+ 'Review URL: https://codereview.chromium.org/547753003\n'
+ '\n'
+ 'Cr-Commit-Position: refs/heads/master@{#293661}',
+ 'commit_position': 293661,
+ 'code_review_url': 'https://codereview.chromium.org/547753003',
+ },
+ {
+ 'message':
+ 'balabala...\n'
+ '\n'
+ 'balabala...\n'
+ '\n'
+ 'R=test4@chromium.org\n'
+ '\n'
+ 'Review URL: https://codereview.chromium.org/469523002\n'
+ '\n'
+ 'Cr-Commit-Position: refs/heads/master@{#289120}',
+ 'commit_position': 289120,
+ 'code_review_url': 'https://codereview.chromium.org/469523002',
+ },
+ {
+ 'message':
+ 'balabala...\n'
+ '\n'
+ 'balabala...\n'
+ '\n'
+ 'R=test4@chromium.org\n'
+ '\n'
+ 'Review URL: https://codereview.chromium.org/469523002\n',
+ 'commit_position': None,
+ 'code_review_url': 'https://codereview.chromium.org/469523002',
+ },
+ {
+ 'message': None,
+ 'commit_position': None,
+ 'code_review_url': None
+ }
+ ]
+
+ for testcase in testcases:
+ (commit_position,
+ code_review_url) = repo_util.ExtractCommitPositionAndCodeReviewUrl(
+ testcase['message'])
+ self.assertEqual(commit_position, testcase['commit_position'])
+ self.assertEqual(code_review_url, testcase['code_review_url'])
+
+ def testNormalizeEmail(self):
+ self.assertEqual(repo_util.NormalizeEmail(
+ 'test@chromium.org@bbb929c8-8fbe-4397-9dbb-9b2b20218538'),
+ 'test@chromium.org')
+
+ def testGetRevertedRevision(self):
+ message = (
+ 'Revert of test1\n\nReason for revert:\nrevert test1\n\n'
+ 'Original issue\'s description:\n> test 1\n>\n'
+ '> description of test 1.\n>\n> BUG=none\n> TEST=none\n'
+ '> R=test@chromium.org\n> TBR=test@chromium.org\n>\n'
+ '> Committed: https://chromium.googlesource.com/chromium/src/+/'
+ 'c9cc182781484f9010f062859cda048afefefefe\n'
+ '> Cr-Commit-Position: refs/heads/master@{#341992}\n\n'
+ 'TBR=test@chromium.org\nNOPRESUBMIT=true\nNOTREECHECKS=true\n'
+ 'NOTRY=true\nBUG=none\n\n'
+ 'Review URL: https://codereview.chromium.org/1278653002\n\n'
+ 'Cr-Commit-Position: refs/heads/master@{#342013}\n')
+
+ reverted_revision = repo_util.GetRevertedRevision(message)
+ self.assertEqual('c9cc182781484f9010f062859cda048afefefefe',
+ reverted_revision)
+
+ def testGetRevertedRevisionRevertOfRevert(self):
+ message = (
+ 'Revert of Revert\n\nReason for revert:\nRevert of revert\n\n'
+ 'Original issue\'s description:\n> test case of revert of revert\n>\n'
+ '> Reason for revert:\n> reason\n>\n> Original issue\'s description:\n'
+ '> > base cl\n> >\n> > R=kalman\n> > BUG=424661\n> >\n'
+ '> > Committed: https://crrev.com/34ea66b8ac1d56dadd670431063857ffdd\n'
+ '> > Cr-Commit-Position: refs/heads/master@{#326953}\n>\n'
+ '> TBR=test@chromium.org\n> NOPRESUBMIT=true\n'
+ '> NOTREECHECKS=true\n> NOTRY=true\n> BUG=424661\n>\n'
+ '> Committed: https://crrev.com/76a7e3446188256ca240dc31f78de29511a'
+ '2c322\n'
+ '> Cr-Commit-Position: refs/heads/master@{#327021}\n\n'
+ 'TBR=test@chromium.org\nNOPRESUBMIT=true\n'
+ 'NOTREECHECKS=true\nNOTRY=true\nBUG=424661\n\n'
+ 'Review URL: https://codereview.chromium.org/1161773008\n\n'
+ 'Cr-Commit-Position: refs/heads/master@{#332062}\n')
+
+ reverted_revision = repo_util.GetRevertedRevision(message)
+ self.assertEqual('76a7e3446188256ca240dc31f78de29511a2c322',
+ reverted_revision)
+
+ def testGetRevertedRevisionNoRevertedCL(self):
+ message = (
+ 'Test for not revert cl\n\n'
+ 'TBR=test@chromium.org\nNOPRESUBMIT=true\n'
+ 'NOTREECHECKS=true\nNOTRY=true\nBUG=424661\n\n'
+ 'Review URL: https://codereview.chromium.org/1161773008\n\n'
+ 'Cr-Commit-Position: refs/heads/master@{#332062}\n')
+
+ reverted_revision = repo_util.GetRevertedRevision(message)
+ self.assertIsNone(reverted_revision)
+
+ def testGetRepoToCloneUrlDict(self):
+ def _MockUrlOpen(*_):
+ output = StringIO.StringIO()
+ repo_dict = {
+ 'proj1': {
+ 'clone_url': 'https://chromium.googlesource.com/proj1',
+ 'description': 'blabla1',
+ 'name': 'proj1'
+ },
+ 'proj2': {
+ 'clone_url': 'https://chromium.googlesource.com/proj2',
+ 'description': 'blabla2',
+ 'name': 'proj2'
+ }
+ }
+ output.write(')]}\'\n')
+ output.write(json.dumps(repo_dict))
+ output.seek(0)
+ return output
+
+ self.mock(urllib2, 'urlopen', _MockUrlOpen)
+
+ expected_repo_to_clone_url = {
+ 'proj1': 'https://chromium.googlesource.com/proj1',
+ 'proj2': 'https://chromium.googlesource.com/proj2'
+ }
+
+ self.assertEqual(repo_util.GetRepoToCloneUrlDict('host_url'),
+ expected_repo_to_clone_url)

Powered by Google App Engine
This is Rietveld 408576698