Add UpgradeToHttps() to reliably and forcibly upgrade all urls to https.
Enable it for git-cl and gcl.
[email protected]
BUG=107838
TEST=New connections go through https://
Review URL: http://codereview.chromium.org/9214004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@117857 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/tests/gclient_utils_test.py b/tests/gclient_utils_test.py
index 937e43a..9f01c5d 100755
--- a/tests/gclient_utils_test.py
+++ b/tests/gclient_utils_test.py
@@ -35,10 +35,11 @@
'MakeDateRevision', 'MakeFileAutoFlush', 'MakeFileAnnotated',
'PathDifference', 'ParseCodereviewSettingsContent',
'PrintableObject', 'RemoveDirectory', 'RunEditor',
- 'SplitUrlRevision', 'SyntaxErrorToError', 'Wrapper', 'WorkItem',
+ 'SplitUrlRevision', 'SyntaxErrorToError',
+ 'UpgradeToHttps', 'Wrapper', 'WorkItem',
'errno', 'lockedmethod', 'logging', 'os', 'Queue', 're', 'rmtree',
'safe_makedirs', 'stat', 'subprocess2', 'sys', 'tempfile', 'threading',
- 'time',
+ 'time', 'urlparse',
]
# If this test fails, you should add the relevant test.
self.compareMembers(gclient_utils, members)
@@ -171,20 +172,45 @@
os.chmod(l2, 0)
os.chmod(l1, 0)
+ def testUpgradeToHttps(self):
+ values = [
+ ['', ''],
+ [None, None],
+ ['foo', 'https://foo'],
+ ['http://foo', 'https://foo'],
+ ['foo/', 'https://foo/'],
+ ['ssh-svn://foo', 'ssh-svn://foo'],
+ ['ssh-svn://foo/bar/', 'ssh-svn://foo/bar/'],
+ ['codereview.chromium.org', 'https://chromiumcodereview.appspot.com'],
+ ['codereview.chromium.org/', 'https://chromiumcodereview.appspot.com/'],
+ ['http://foo:8080', 'http://foo:8080'],
+ ['http://foo:8080/bar', 'http://foo:8080/bar'],
+ ['foo:8080', 'http://foo:8080'],
+ ['foo:', 'https://foo:'],
+ ]
+ for content, expected in values:
+ self.assertEquals(
+ expected, gclient_utils.UpgradeToHttps(content))
+
def testParseCodereviewSettingsContent(self):
- expected = {
- 'Foo': 'bar:baz',
- 'Second': 'value',
- }
- content = (
- '# bleh\n'
- '\t# foo : bar\n'
- 'Foo:bar:baz\n'
- ' Second : value \n\r'
- '#inconsistency'
- )
- self.assertEquals(
- expected, gclient_utils.ParseCodereviewSettingsContent(content))
+ values = [
+ ['# bleh\n', {}],
+ ['\t# foo : bar\n', {}],
+ ['Foo:bar', {'Foo': 'bar'}],
+ ['Foo:bar:baz\n', {'Foo': 'bar:baz'}],
+ [' Foo : bar ', {'Foo': 'bar'}],
+ [' Foo : bar \n', {'Foo': 'bar'}],
+ ['a:b\n\rc:d\re:f', {'a': 'b', 'c': 'd', 'e': 'f'}],
+ ['an_url:http://value/', {'an_url': 'http://value/'}],
+ [
+ 'CODE_REVIEW_SERVER : http://r/s',
+ {'CODE_REVIEW_SERVER': 'https://r/s'}
+ ],
+ ['VIEW_VC:http://r/s', {'VIEW_VC': 'https://r/s'}],
+ ]
+ for content, expected in values:
+ self.assertEquals(
+ expected, gclient_utils.ParseCodereviewSettingsContent(content))
if __name__ == '__main__':