summaryrefslogtreecommitdiff
path: root/tests/test_swiftclient.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_swiftclient.py')
-rw-r--r--tests/test_swiftclient.py39
1 files changed, 25 insertions, 14 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()