summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-02-14 00:41:39 +0000
committerGerrit Code Review <review@openstack.org>2014-02-14 00:41:39 +0000
commit19d7e1812a99d73785146667ae2f3a7156f06898 (patch)
treecbc5160a6836fe642274ab13aec8d8555a6f9203 /tests
parent0c7264c21d06d37de5db0beee677c4e026dc8f45 (diff)
parentb182112719ab87942472e44aa3446ea0eb19a289 (diff)
downloadpython-swiftclient-2.0.tar.gz
Merge "Port to python-requests"2.0
Diffstat (limited to 'tests')
-rw-r--r--tests/test_swiftclient.py39
-rw-r--r--tests/test_utils.py80
-rw-r--r--tests/utils.py6
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()