summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJamie Lennox <jamielennox@gmail.com>2016-08-24 23:10:59 +1000
committerJamie Lennox <jamielennox@gmail.com>2016-08-25 17:18:20 +1000
commitfd675b2c5a9453efac1fadadb17f40ef5fb908d2 (patch)
tree8987345d1e453ceee6e48176819857bd739e7392
parent5acefd27e4e4de01414cc67f6652cc946b51957b (diff)
downloadpython-swiftclient-fd675b2c5a9453efac1fadadb17f40ef5fb908d2.tar.gz
Use mock patch to handle get_auth_keystone
Setting c.get_auth_keystone = fake_get_auth_keystone is setting a new method on the module. This information is not reset between test runs and therefore has the potential to corrupt other tests. Use mock patch so that the mock is reset after the test is complete. Change-Id: Ifb9ba72634cf477c72dda080b5aed8f8e3a7ac89
-rw-r--r--tests/unit/test_swiftclient.py277
1 files changed, 144 insertions, 133 deletions
diff --git a/tests/unit/test_swiftclient.py b/tests/unit/test_swiftclient.py
index 4e4c9f4..6775acf 100644
--- a/tests/unit/test_swiftclient.py
+++ b/tests/unit/test_swiftclient.py
@@ -335,79 +335,84 @@ class TestGetAuth(MockHttpTest):
def test_auth_v2_with_tenant_name(self):
os_options = {'tenant_name': 'asdf'}
req_args = {'auth_version': '2.0'}
- c.get_auth_keystone = fake_get_auth_keystone(os_options,
- required_kwargs=req_args)
- url, token = c.get_auth('http://www.test.com', 'asdf', 'asdf',
- os_options=os_options,
- auth_version="2.0")
+ ks = fake_get_auth_keystone(os_options, required_kwargs=req_args)
+ with mock.patch('swiftclient.client.get_auth_keystone', ks):
+ url, token = c.get_auth('http://www.test.com', 'asdf', 'asdf',
+ os_options=os_options,
+ auth_version="2.0")
self.assertTrue(url.startswith("http"))
self.assertTrue(token)
def test_auth_v2_with_tenant_id(self):
os_options = {'tenant_id': 'asdf'}
req_args = {'auth_version': '2.0'}
- c.get_auth_keystone = fake_get_auth_keystone(os_options,
- required_kwargs=req_args)
- url, token = c.get_auth('http://www.test.com', 'asdf', 'asdf',
- os_options=os_options,
- auth_version="2.0")
+ ks = fake_get_auth_keystone(os_options, required_kwargs=req_args)
+ with mock.patch('swiftclient.client.get_auth_keystone', ks):
+ url, token = c.get_auth('http://www.test.com', 'asdf', 'asdf',
+ os_options=os_options,
+ auth_version="2.0")
self.assertTrue(url.startswith("http"))
self.assertTrue(token)
def test_auth_v2_with_project_name(self):
os_options = {'project_name': 'asdf'}
req_args = {'auth_version': '2.0'}
- c.get_auth_keystone = fake_get_auth_keystone(os_options,
- required_kwargs=req_args)
- url, token = c.get_auth('http://www.test.com', 'asdf', 'asdf',
- os_options=os_options,
- auth_version="2.0")
+ ks = fake_get_auth_keystone(os_options, required_kwargs=req_args)
+ with mock.patch('swiftclient.client.get_auth_keystone', ks):
+ url, token = c.get_auth('http://www.test.com', 'asdf', 'asdf',
+ os_options=os_options,
+ auth_version="2.0")
self.assertTrue(url.startswith("http"))
self.assertTrue(token)
def test_auth_v2_with_project_id(self):
os_options = {'project_id': 'asdf'}
req_args = {'auth_version': '2.0'}
- c.get_auth_keystone = fake_get_auth_keystone(os_options,
- required_kwargs=req_args)
- url, token = c.get_auth('http://www.test.com', 'asdf', 'asdf',
- os_options=os_options,
- auth_version="2.0")
+
+ ks = fake_get_auth_keystone(os_options, required_kwargs=req_args)
+ with mock.patch('swiftclient.client.get_auth_keystone', ks):
+ url, token = c.get_auth('http://www.test.com', 'asdf', 'asdf',
+ os_options=os_options,
+ auth_version="2.0")
self.assertTrue(url.startswith("http"))
self.assertTrue(token)
def test_auth_v2_no_tenant_name_or_tenant_id(self):
- c.get_auth_keystone = fake_get_auth_keystone({})
- self.assertRaises(c.ClientException, c.get_auth,
- 'http://www.tests.com', 'asdf', 'asdf',
- os_options={},
- auth_version='2.0')
+ with mock.patch('swiftclient.client.get_auth_keystone',
+ fake_get_auth_keystone({})):
+ self.assertRaises(c.ClientException, c.get_auth,
+ 'http://www.tests.com', 'asdf', 'asdf',
+ os_options={},
+ auth_version='2.0')
def test_auth_v2_with_tenant_name_none_and_tenant_id_none(self):
os_options = {'tenant_name': None,
'tenant_id': None}
- c.get_auth_keystone = fake_get_auth_keystone(os_options)
- self.assertRaises(c.ClientException, c.get_auth,
- 'http://www.tests.com', 'asdf', 'asdf',
- os_options=os_options,
- auth_version='2.0')
+ with mock.patch('swiftclient.client.get_auth_keystone',
+ fake_get_auth_keystone(os_options)):
+ self.assertRaises(c.ClientException, c.get_auth,
+ 'http://www.tests.com', 'asdf', 'asdf',
+ os_options=os_options,
+ auth_version='2.0')
def test_auth_v2_with_tenant_user_in_user(self):
tenant_option = {'tenant_name': 'foo'}
- c.get_auth_keystone = fake_get_auth_keystone(tenant_option)
- url, token = c.get_auth('http://www.test.com', 'foo:bar', 'asdf',
- os_options={},
- auth_version="2.0")
+ with mock.patch('swiftclient.client.get_auth_keystone',
+ fake_get_auth_keystone(tenant_option)):
+ url, token = c.get_auth('http://www.test.com', 'foo:bar', 'asdf',
+ os_options={},
+ auth_version="2.0")
self.assertTrue(url.startswith("http"))
self.assertTrue(token)
def test_auth_v2_tenant_name_no_os_options(self):
tenant_option = {'tenant_name': 'asdf'}
- c.get_auth_keystone = fake_get_auth_keystone(tenant_option)
- url, token = c.get_auth('http://www.test.com', 'asdf', 'asdf',
- tenant_name='asdf',
- os_options={},
- auth_version="2.0")
+ with mock.patch('swiftclient.client.get_auth_keystone',
+ fake_get_auth_keystone(tenant_option)):
+ url, token = c.get_auth('http://www.test.com', 'asdf', 'asdf',
+ tenant_name='asdf',
+ os_options={},
+ auth_version="2.0")
self.assertTrue(url.startswith("http"))
self.assertTrue(token)
@@ -415,138 +420,141 @@ class TestGetAuth(MockHttpTest):
os_options = {'service_type': 'object-store',
'endpoint_type': 'internalURL',
'tenant_name': 'asdf'}
- c.get_auth_keystone = fake_get_auth_keystone(os_options)
- url, token = c.get_auth('http://www.test.com', 'asdf', 'asdf',
- os_options=os_options,
- auth_version="2.0")
+ with mock.patch('swiftclient.client.get_auth_keystone',
+ fake_get_auth_keystone(os_options)):
+ url, token = c.get_auth('http://www.test.com', 'asdf', 'asdf',
+ os_options=os_options,
+ auth_version="2.0")
self.assertTrue(url.startswith("http"))
self.assertTrue(token)
def test_auth_v2_with_tenant_user_in_user_no_os_options(self):
tenant_option = {'tenant_name': 'foo'}
- c.get_auth_keystone = fake_get_auth_keystone(tenant_option)
- url, token = c.get_auth('http://www.test.com', 'foo:bar', 'asdf',
- auth_version="2.0")
+ with mock.patch('swiftclient.client.get_auth_keystone',
+ fake_get_auth_keystone(tenant_option)):
+ url, token = c.get_auth('http://www.test.com', 'foo:bar', 'asdf',
+ auth_version="2.0")
self.assertTrue(url.startswith("http"))
self.assertTrue(token)
def test_auth_v2_with_os_region_name(self):
os_options = {'region_name': 'good-region',
'tenant_name': 'asdf'}
- c.get_auth_keystone = fake_get_auth_keystone(os_options)
- url, token = c.get_auth('http://www.test.com', 'asdf', 'asdf',
- os_options=os_options,
- auth_version="2.0")
+ with mock.patch('swiftclient.client.get_auth_keystone',
+ fake_get_auth_keystone(os_options)):
+ url, token = c.get_auth('http://www.test.com', 'asdf', 'asdf',
+ os_options=os_options,
+ auth_version="2.0")
self.assertTrue(url.startswith("http"))
self.assertTrue(token)
def test_auth_v2_no_endpoint(self):
os_options = {'region_name': 'unknown_region',
'tenant_name': 'asdf'}
- c.get_auth_keystone = fake_get_auth_keystone(
- os_options, c.ClientException)
- self.assertRaises(c.ClientException, c.get_auth,
- 'http://www.tests.com', 'asdf', 'asdf',
- os_options=os_options, auth_version='2.0')
+ with mock.patch('swiftclient.client.get_auth_keystone',
+ fake_get_auth_keystone(os_options, c.ClientException)):
+ self.assertRaises(c.ClientException, c.get_auth,
+ 'http://www.tests.com', 'asdf', 'asdf',
+ os_options=os_options, auth_version='2.0')
def test_auth_v2_ks_exception(self):
- c.get_auth_keystone = fake_get_auth_keystone(
- {}, c.ClientException)
- self.assertRaises(c.ClientException, c.get_auth,
- 'http://www.tests.com', 'asdf', 'asdf',
- os_options={},
- auth_version='2.0')
+ with mock.patch('swiftclient.client.get_auth_keystone',
+ fake_get_auth_keystone({}, c.ClientException)):
+ self.assertRaises(c.ClientException, c.get_auth,
+ 'http://www.tests.com', 'asdf', 'asdf',
+ os_options={},
+ auth_version='2.0')
def test_auth_v2_cacert(self):
os_options = {'tenant_name': 'foo'}
- c.get_auth_keystone = fake_get_auth_keystone(
- os_options, None)
-
auth_url_secure = 'https://www.tests.com'
auth_url_insecure = 'https://www.tests.com/self-signed-certificate'
- url, token = c.get_auth(auth_url_secure, 'asdf', 'asdf',
- os_options=os_options, auth_version='2.0',
- insecure=False)
- self.assertTrue(url.startswith("http"))
- self.assertTrue(token)
-
- url, token = c.get_auth(auth_url_insecure, 'asdf', 'asdf',
- os_options=os_options, auth_version='2.0',
- cacert='ca.pem', insecure=False)
- self.assertTrue(url.startswith("http"))
- self.assertTrue(token)
-
- self.assertRaises(c.ClientException, c.get_auth,
- auth_url_insecure, 'asdf', 'asdf',
- os_options=os_options, auth_version='2.0')
- self.assertRaises(c.ClientException, c.get_auth,
- auth_url_insecure, 'asdf', 'asdf',
- os_options=os_options, auth_version='2.0',
- insecure=False)
+ with mock.patch('swiftclient.client.get_auth_keystone',
+ fake_get_auth_keystone(os_options, None)):
+ url, token = c.get_auth(auth_url_secure, 'asdf', 'asdf',
+ os_options=os_options, auth_version='2.0',
+ insecure=False)
+ self.assertTrue(url.startswith("http"))
+ self.assertTrue(token)
+
+ url, token = c.get_auth(auth_url_insecure, 'asdf', 'asdf',
+ os_options=os_options, auth_version='2.0',
+ cacert='ca.pem', insecure=False)
+ self.assertTrue(url.startswith("http"))
+ self.assertTrue(token)
+
+ self.assertRaises(c.ClientException, c.get_auth,
+ auth_url_insecure, 'asdf', 'asdf',
+ os_options=os_options, auth_version='2.0')
+ self.assertRaises(c.ClientException, c.get_auth,
+ auth_url_insecure, 'asdf', 'asdf',
+ os_options=os_options, auth_version='2.0',
+ insecure=False)
def test_auth_v2_insecure(self):
os_options = {'tenant_name': 'foo'}
- c.get_auth_keystone = fake_get_auth_keystone(
- os_options, None)
-
auth_url_secure = 'https://www.tests.com'
auth_url_insecure = 'https://www.tests.com/invalid-certificate'
- url, token = c.get_auth(auth_url_secure, 'asdf', 'asdf',
- os_options=os_options, auth_version='2.0')
- self.assertTrue(url.startswith("http"))
- self.assertTrue(token)
-
- url, token = c.get_auth(auth_url_insecure, 'asdf', 'asdf',
- os_options=os_options, auth_version='2.0',
- insecure=True)
- self.assertTrue(url.startswith("http"))
- self.assertTrue(token)
-
- self.assertRaises(c.ClientException, c.get_auth,
- auth_url_insecure, 'asdf', 'asdf',
- os_options=os_options, auth_version='2.0')
- self.assertRaises(c.ClientException, c.get_auth,
- auth_url_insecure, 'asdf', 'asdf',
- os_options=os_options, auth_version='2.0',
- insecure=False)
+ with mock.patch('swiftclient.client.get_auth_keystone',
+ fake_get_auth_keystone(os_options, None)):
+ url, token = c.get_auth(auth_url_secure, 'asdf', 'asdf',
+ os_options=os_options, auth_version='2.0')
+ self.assertTrue(url.startswith("http"))
+ self.assertTrue(token)
+
+ url, token = c.get_auth(auth_url_insecure, 'asdf', 'asdf',
+ os_options=os_options, auth_version='2.0',
+ insecure=True)
+ self.assertTrue(url.startswith("http"))
+ self.assertTrue(token)
+
+ self.assertRaises(c.ClientException, c.get_auth,
+ auth_url_insecure, 'asdf', 'asdf',
+ os_options=os_options, auth_version='2.0')
+ self.assertRaises(c.ClientException, c.get_auth,
+ auth_url_insecure, 'asdf', 'asdf',
+ os_options=os_options, auth_version='2.0',
+ insecure=False)
def test_auth_v2_cert(self):
os_options = {'tenant_name': 'foo'}
- c.get_auth_keystone = fake_get_auth_keystone(os_options, None)
-
auth_url_no_sslauth = 'https://www.tests.com'
auth_url_sslauth = 'https://www.tests.com/client-certificate'
- url, token = c.get_auth(auth_url_no_sslauth, 'asdf', 'asdf',
- os_options=os_options, auth_version='2.0')
- self.assertTrue(url.startswith("http"))
- self.assertTrue(token)
-
- url, token = c.get_auth(auth_url_sslauth, 'asdf', 'asdf',
- os_options=os_options, auth_version='2.0',
- cert='minnie', cert_key='mickey')
- self.assertTrue(url.startswith("http"))
- self.assertTrue(token)
-
- self.assertRaises(c.ClientException, c.get_auth,
- auth_url_sslauth, 'asdf', 'asdf',
- os_options=os_options, auth_version='2.0')
- self.assertRaises(c.ClientException, c.get_auth,
- auth_url_sslauth, 'asdf', 'asdf',
- os_options=os_options, auth_version='2.0',
- cert='minnie')
+ with mock.patch('swiftclient.client.get_auth_keystone',
+ fake_get_auth_keystone(os_options, None)):
+ url, token = c.get_auth(auth_url_no_sslauth, 'asdf', 'asdf',
+ os_options=os_options, auth_version='2.0')
+ self.assertTrue(url.startswith("http"))
+ self.assertTrue(token)
+
+ url, token = c.get_auth(auth_url_sslauth, 'asdf', 'asdf',
+ os_options=os_options, auth_version='2.0',
+ cert='minnie', cert_key='mickey')
+ self.assertTrue(url.startswith("http"))
+ self.assertTrue(token)
+
+ self.assertRaises(c.ClientException, c.get_auth,
+ auth_url_sslauth, 'asdf', 'asdf',
+ os_options=os_options, auth_version='2.0')
+ self.assertRaises(c.ClientException, c.get_auth,
+ auth_url_sslauth, 'asdf', 'asdf',
+ os_options=os_options, auth_version='2.0',
+ cert='minnie')
def test_auth_v3_with_tenant_name(self):
# check the correct auth version is passed to get_auth_keystone
os_options = {'tenant_name': 'asdf'}
req_args = {'auth_version': '3'}
- c.get_auth_keystone = fake_get_auth_keystone(os_options,
- required_kwargs=req_args)
- url, token = c.get_auth('http://www.test.com', 'asdf', 'asdf',
- os_options=os_options,
- auth_version="3")
+
+ ks = fake_get_auth_keystone(os_options, required_kwargs=req_args)
+ with mock.patch('swiftclient.client.get_auth_keystone', ks):
+ url, token = c.get_auth('http://www.test.com', 'asdf', 'asdf',
+ os_options=os_options,
+ auth_version="3")
+
self.assertTrue(url.startswith("http"))
self.assertTrue(token)
@@ -554,10 +562,13 @@ class TestGetAuth(MockHttpTest):
# check the correct auth version is passed to get_auth_keystone
os_options = {'tenant_name': 'asdf'}
req_args = {'auth_version': '2.0'}
- c.get_auth_keystone = fake_get_auth_keystone(os_options,
- required_kwargs=req_args)
- url, token = c.get_keystoneclient_2_0('http://www.test.com', 'asdf',
- 'asdf', os_options=os_options)
+
+ ks = fake_get_auth_keystone(os_options, required_kwargs=req_args)
+ with mock.patch('swiftclient.client.get_auth_keystone', ks):
+ url, token = c.get_keystoneclient_2_0('http://www.test.com',
+ 'asdf', 'asdf',
+ os_options=os_options)
+
self.assertTrue(url.startswith("http"))
self.assertTrue(token)