diff options
author | Jenkins <jenkins@review.openstack.org> | 2014-02-14 00:41:39 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2014-02-14 00:41:39 +0000 |
commit | 19d7e1812a99d73785146667ae2f3a7156f06898 (patch) | |
tree | cbc5160a6836fe642274ab13aec8d8555a6f9203 /tests | |
parent | 0c7264c21d06d37de5db0beee677c4e026dc8f45 (diff) | |
parent | b182112719ab87942472e44aa3446ea0eb19a289 (diff) | |
download | python-swiftclient-2.0.tar.gz |
Merge "Port to python-requests"2.0
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_swiftclient.py | 39 | ||||
-rw-r--r-- | tests/test_utils.py | 80 | ||||
-rw-r--r-- | tests/utils.py | 6 |
3 files changed, 28 insertions, 97 deletions
diff --git a/tests/test_swiftclient.py b/tests/test_swiftclient.py index 19764db..7a9f1f0 100644 --- a/tests/test_swiftclient.py +++ b/tests/test_swiftclient.py @@ -15,7 +15,6 @@ # TODO: More tests import mock -import httplib import logging import socket import StringIO @@ -107,7 +106,8 @@ class MockHttpTest(testtools.TestCase): query_string = kwargs.get('query_string') storage_url = kwargs.get('storage_url') - def wrapper(url, proxy=None, ssl_compression=True): + def wrapper(url, proxy=None, cacert=None, insecure=False, + ssl_compression=True): if storage_url: self.assertEqual(storage_url, url) @@ -138,11 +138,17 @@ class MockHttpTest(testtools.TestCase): class MockHttpResponse(): - def __init__(self): - self.status = 200 + def __init__(self, status=0): + self.status = status + self.status_code = status self.reason = "OK" self.buffer = [] + class Raw: + def read(): + pass + self.raw = Raw() + def read(self): return "" @@ -153,10 +159,15 @@ class MockHttpResponse(): return {"key1": "value1", "key2": "value2"} def fake_response(self): - return MockHttpResponse() + return MockHttpResponse(self.status) - def fake_send(self, msg): - self.buffer.append(msg) + def _fake_request(self, *arg, **kwarg): + self.status = 200 + # This simulate previous httplib implementation that would do a + # putrequest() and then use putheader() to send header. + for k, v in kwarg['headers'].iteritems(): + self.buffer.append('%s: %s' % (k, v)) + return self.fake_response() class TestHttpHelpers(MockHttpTest): @@ -173,8 +184,7 @@ class TestHttpHelpers(MockHttpTest): self.assertTrue(isinstance(conn, c.HTTPConnection)) url = 'https://www.test.com' _junk, conn = c.http_connection(url) - self.assertTrue(isinstance(conn, httplib.HTTPSConnection) or - isinstance(conn, c.HTTPSConnectionNoSSLComp)) + self.assertTrue(isinstance(conn, c.HTTPConnection)) url = 'ftp://www.test.com' self.assertRaises(c.ClientException, c.http_connection, url) @@ -560,7 +570,7 @@ class TestPutObject(MockHttpTest): resp = MockHttpResponse() conn[1].getresponse = resp.fake_response - conn[1].send = resp.fake_send + conn[1]._request = resp._fake_request value = c.put_object(*args, headers=headers, http_conn=conn) self.assertTrue(isinstance(value, basestring)) # Test for RFC-2616 encoded symbols @@ -573,7 +583,7 @@ class TestPutObject(MockHttpTest): args = ('asdf', 'asdf', 'asdf', 'asdf', mock_file) resp = MockHttpResponse() conn[1].getresponse = resp.fake_response - conn[1].send = resp.fake_send + conn[1]._request = resp._fake_request with warnings.catch_warnings(record=True) as w: c.put_object(*args, chunk_size=20, headers={}, http_conn=conn) self.assertEqual(len(w), 0) @@ -621,7 +631,7 @@ class TestPostObject(MockHttpTest): resp = MockHttpResponse() conn[1].getresponse = resp.fake_response - conn[1].send = resp.fake_send + conn[1]._request = resp._fake_request c.post_object(*args, headers=headers, http_conn=conn) # Test for RFC-2616 encoded symbols self.assertTrue("a-b: .x:yz mn:kl:qr" in resp.buffer[0], @@ -853,7 +863,7 @@ class TestConnection(MockHttpTest): self.port = parsed_url.netloc def putrequest(self, *args, **kwargs): - return + self.send() def putheader(self, *args, **kwargs): return @@ -880,7 +890,8 @@ class TestConnection(MockHttpTest): def read(self, *args, **kwargs): return '' - def local_http_connection(url, proxy=None, ssl_compression=True): + def local_http_connection(url, proxy=None, cacert=None, + insecure=False, ssl_compression=True): parsed = urlparse(url) return parsed, LocalConnection() diff --git a/tests/test_utils.py b/tests/test_utils.py index 7b2ef76..33d9467 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -14,7 +14,6 @@ # limitations under the License. import testtools -import os from swiftclient import utils as u @@ -118,82 +117,3 @@ class TestPrtBytes(testtools.TestCase): def test_overflow(self): bytes_ = 2 ** 90 self.assertEqual('1024Y', u.prt_bytes(bytes_, True).lstrip()) - - -class TestGetEnvironProxy(testtools.TestCase): - - ENV_VARS = ('http_proxy', 'https_proxy', 'no_proxy', - 'HTTP_PROXY', 'HTTPS_PROXY', 'NO_PROXY') - - def setUp(self): - self.proxy_dict = {} - super(TestGetEnvironProxy, self).setUp() - for proxy_s in TestGetEnvironProxy.ENV_VARS: - # Save old env value - self.proxy_dict[proxy_s] = os.environ.get(proxy_s, None) - - def tearDown(self): - super(TestGetEnvironProxy, self).tearDown() - for proxy_s in TestGetEnvironProxy.ENV_VARS: - if self.proxy_dict[proxy_s]: - os.environ[proxy_s] = self.proxy_dict[proxy_s] - elif os.environ.get(proxy_s): - del os.environ[proxy_s] - - def setup_env(self, new_env={}): - for proxy_s in TestGetEnvironProxy.ENV_VARS: - # Set new env value - if new_env.get(proxy_s): - os.environ[proxy_s] = new_env.get(proxy_s) - elif os.environ.get(proxy_s): - del os.environ[proxy_s] - - def test_http_proxy(self): - self.setup_env({'http_proxy': 'http://proxy.tests.com:8080'}) - proxy_dict = u.get_environ_proxies('www.tests.com:81') - self.assertEqual(proxy_dict['http'], 'http://proxy.tests.com:8080') - self.assertEqual(proxy_dict.get('https'), None) - self.assertEqual(len(proxy_dict), 1) - self.setup_env({'HTTP_PROXY': 'http://proxy.tests.com:8080'}) - proxy_dict = u.get_environ_proxies('www.tests.com:81') - self.assertEqual(proxy_dict['http'], 'http://proxy.tests.com:8080') - self.assertEqual(proxy_dict.get('https'), None) - self.assertEqual(len(proxy_dict), 1) - - def test_https_proxy(self): - self.setup_env({'https_proxy': 'http://proxy.tests.com:8080'}) - proxy_dict = u.get_environ_proxies('www.tests.com:81') - self.assertEqual(proxy_dict['https'], 'http://proxy.tests.com:8080') - self.assertEqual(proxy_dict.get('http'), None) - self.assertEqual(len(proxy_dict), 1) - self.setup_env({'HTTPS_PROXY': 'http://proxy.tests.com:8080'}) - proxy_dict = u.get_environ_proxies('www.tests.com:81') - self.assertEqual(proxy_dict['https'], 'http://proxy.tests.com:8080') - self.assertEqual(proxy_dict.get('http'), None) - self.assertEqual(len(proxy_dict), 1) - - def test_http_https_proxy(self): - self.setup_env({'http_proxy': 'http://proxy1.tests.com:8081', - 'https_proxy': 'http://proxy2.tests.com:8082'}) - proxy_dict = u.get_environ_proxies('www.tests.com:81') - self.assertEqual(proxy_dict['http'], 'http://proxy1.tests.com:8081') - self.assertEqual(proxy_dict['https'], 'http://proxy2.tests.com:8082') - self.assertEqual(len(proxy_dict), 2) - self.setup_env({'http_proxy': 'http://proxy1.tests.com:8081', - 'HTTPS_PROXY': 'http://proxy2.tests.com:8082'}) - proxy_dict = u.get_environ_proxies('www.tests.com:81') - self.assertEqual(proxy_dict['http'], 'http://proxy1.tests.com:8081') - self.assertEqual(proxy_dict['https'], 'http://proxy2.tests.com:8082') - self.assertEqual(len(proxy_dict), 2) - - def test_proxy_exclusion(self): - self.setup_env({'http_proxy': 'http://proxy1.tests.com:8081', - 'https_proxy': 'http://proxy2.tests.com:8082', - 'no_proxy': 'www.tests.com'}) - proxy_dict = u.get_environ_proxies('www.tests.com:81') - self.assertEqual(len(proxy_dict), 0) - self.setup_env({'http_proxy': 'http://proxy1.tests.com:8081', - 'HTTPS_PROXY': 'http://proxy2.tests.com:8082', - 'NO_PROXY': 'www.tests.com'}) - proxy_dict = u.get_environ_proxies('www.tests.com:81') - self.assertEqual(len(proxy_dict), 0) diff --git a/tests/utils.py b/tests/utils.py index 93972e4..ff2834a 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -12,7 +12,7 @@ # implied. # See the License for the specific language governing permissions and # limitations under the License. -from httplib import HTTPException +from requests import RequestException from time import sleep @@ -74,7 +74,7 @@ def fake_http_connect(*code_iter, **kwargs): def getexpect(self): if self.status == -2: - raise HTTPException() + raise RequestException() if self.status == -3: return FakeConn(507) return FakeConn(100) @@ -141,7 +141,7 @@ def fake_http_connect(*code_iter, **kwargs): etag = etag_iter.next() timestamp = timestamps_iter.next() if status <= 0: - raise HTTPException() + raise RequestException() fake_conn = FakeConn(status, etag, body=kwargs.get('body', ''), timestamp=timestamp) fake_conn.connect() |