summaryrefslogtreecommitdiff
path: root/test/unit/common/test_internal_client.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit/common/test_internal_client.py')
-rw-r--r--test/unit/common/test_internal_client.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/unit/common/test_internal_client.py b/test/unit/common/test_internal_client.py
index df140ebdd..d4027261d 100644
--- a/test/unit/common/test_internal_client.py
+++ b/test/unit/common/test_internal_client.py
@@ -333,6 +333,24 @@ class TestInternalClient(unittest.TestCase):
self.assertEquals(3, client.sleep_called)
self.assertEquals(4, client.tries)
+ def test_base_request_timeout(self):
+ # verify that base_request passes timeout arg on to urlopen
+ body = {"some": "content"}
+
+ class FakeConn(object):
+ def read(self):
+ return json.dumps(body)
+
+ for timeout in (0.0, 42.0, None):
+ mocked_func = 'swift.common.internal_client.urllib2.urlopen'
+ with mock.patch(mocked_func) as mock_urlopen:
+ mock_urlopen.side_effect = [FakeConn()]
+ sc = internal_client.SimpleClient('http://0.0.0.0/')
+ _, resp_body = sc.base_request('GET', timeout=timeout)
+ mock_urlopen.assert_called_once_with(mock.ANY, timeout=timeout)
+ # sanity check
+ self.assertEquals(body, resp_body)
+
def test_make_request_method_path_headers(self):
class InternalClient(internal_client.InternalClient):
def __init__(self):