Merge "Include unsupported url scheme with ClientException"
This commit is contained in:
commit
3105cdc4f8
@ -169,7 +169,8 @@ class HTTPConnection(object):
|
||||
self.requests_args = {}
|
||||
self.request_session = requests.Session()
|
||||
if self.parsed_url.scheme not in ('http', 'https'):
|
||||
raise ClientException("Unsupported scheme")
|
||||
raise ClientException('Unsupported scheme "%s" in url "%s"'
|
||||
% (self.parsed_url.scheme, url))
|
||||
self.requests_args['verify'] = not insecure
|
||||
if cacert and not insecure:
|
||||
# verify requests parameter is used to pass the CA_BUNDLE file
|
||||
|
@ -1036,6 +1036,29 @@ class TestGetCapabilities(MockHttpTest):
|
||||
|
||||
class TestHTTPConnection(MockHttpTest):
|
||||
|
||||
def test_bad_url_scheme(self):
|
||||
url = u'www.test.com'
|
||||
exc = self.assertRaises(c.ClientException, c.http_connection, url)
|
||||
expected = u'Unsupported scheme "" in url "www.test.com"'
|
||||
self.assertEqual(expected, str(exc))
|
||||
|
||||
url = u'://www.test.com'
|
||||
exc = self.assertRaises(c.ClientException, c.http_connection, url)
|
||||
expected = u'Unsupported scheme "" in url "://www.test.com"'
|
||||
self.assertEqual(expected, str(exc))
|
||||
|
||||
url = u'blah://www.test.com'
|
||||
exc = self.assertRaises(c.ClientException, c.http_connection, url)
|
||||
expected = u'Unsupported scheme "blah" in url "blah://www.test.com"'
|
||||
self.assertEqual(expected, str(exc))
|
||||
|
||||
def test_ok_url_scheme(self):
|
||||
for scheme in ('http', 'https', 'HTTP', 'HTTPS'):
|
||||
url = u'%s://www.test.com' % scheme
|
||||
parsed_url, conn = c.http_connection(url)
|
||||
self.assertEqual(scheme.lower(), parsed_url.scheme)
|
||||
self.assertEqual(u'%s://www.test.com' % scheme, conn.url)
|
||||
|
||||
def test_ok_proxy(self):
|
||||
conn = c.http_connection(u'http://www.test.com/',
|
||||
proxy='http://localhost:8080')
|
||||
|
Loading…
x
Reference in New Issue
Block a user