summaryrefslogtreecommitdiff
path: root/glance_store/tests
diff options
context:
space:
mode:
authorwhoami-rajat <rajatdhasmana@gmail.com>2022-03-11 19:42:49 +0530
committerwhoami-rajat <rajatdhasmana@gmail.com>2022-03-14 22:25:57 +0530
commitc0c4969a4a6ce77c61f84fcb37b3efdac71d6418 (patch)
treec940ddb5d861732d5c2bb352f57eb3fb4c6a10e4 /glance_store/tests
parent95b49304cde62ffbddb4e47b782320cbf7e65ca0 (diff)
downloadglance_store-c0c4969a4a6ce77c61f84fcb37b3efdac71d6418.tar.gz
Add coverage for get_cinder_session
Add test coverage for two config options used to create a keystone session object for cinderclient namely ``cinder_api_insecure`` and ``cinder_ca_certificates_file``. Change-Id: Idb6db9f87ef7290441dfe60ca2eb9a59c9ee7bd3
Diffstat (limited to 'glance_store/tests')
-rw-r--r--glance_store/tests/unit/test_cinder_base.py54
-rw-r--r--glance_store/tests/unit/test_cinder_store.py20
-rw-r--r--glance_store/tests/unit/test_multistore_cinder.py18
3 files changed, 72 insertions, 20 deletions
diff --git a/glance_store/tests/unit/test_cinder_base.py b/glance_store/tests/unit/test_cinder_base.py
index db0aacc..0d73347 100644
--- a/glance_store/tests/unit/test_cinder_base.py
+++ b/glance_store/tests/unit/test_cinder_base.py
@@ -47,6 +47,60 @@ class TestCinderStoreBase(object):
self.assertEqual('fake_token', cc.client.auth.token)
self.assertEqual('http://foo/public_url', cc.client.auth.endpoint)
+ def _get_cinderclient_with_user_overriden(self, group='glance_store',
+ **kwargs):
+
+ cinderclient_opts = {
+ 'cinder_store_user_name': 'test_user',
+ 'cinder_store_password': 'test_password',
+ 'cinder_store_project_name': 'test_project',
+ 'cinder_store_auth_address': 'test_address'}
+
+ cinderclient_opts.update(kwargs)
+ self.config(**cinderclient_opts, group=group)
+ cc = self.store.get_cinderclient(self.context)
+ return cc
+
+ def _test_get_cinderclient_with_user_overriden(
+ self, group='glance_store'):
+ cc = self._get_cinderclient_with_user_overriden(
+ group=group)
+ self.assertEqual('test_project',
+ cc.client.session.auth.project_name)
+ self.assertEqual('Default',
+ cc.client.session.auth.project_domain_name)
+
+ def _test_get_cinderclient_with_user_overriden_and_region(
+ self, group='glance_store'):
+ cc = self._get_cinderclient_with_user_overriden(
+ group=group, **{'cinder_os_region_name': 'test_region'})
+ self.assertEqual('test_region', cc.client.region_name)
+
+ def _test_get_cinderclient_with_api_insecure(
+ self, group='glance_store'):
+ self.config()
+ with mock.patch.object(
+ cinder.ksa_session, 'Session') as fake_session, \
+ mock.patch.object(
+ cinder.ksa_identity, 'V3Password') as fake_auth_method:
+ fake_auth = fake_auth_method()
+ self._get_cinderclient_with_user_overriden(
+ group=group, **{'cinder_api_insecure': True})
+ fake_session.assert_called_once_with(auth=fake_auth, verify=False)
+
+ def _test_get_cinderclient_with_ca_certificates(
+ self, group='glance_store'):
+ fake_cert_path = 'fake_cert_path'
+ with mock.patch.object(
+ cinder.ksa_session, 'Session') as fake_session, \
+ mock.patch.object(
+ cinder.ksa_identity, 'V3Password') as fake_auth_method:
+ fake_auth = fake_auth_method()
+ self._get_cinderclient_with_user_overriden(
+ group=group, **{'cinder_ca_certificates_file': fake_cert_path})
+ fake_session.assert_called_once_with(
+ auth=fake_auth, verify=fake_cert_path)
+
def test_temporary_chown(self):
fake_stat = mock.MagicMock(st_uid=1)
diff --git a/glance_store/tests/unit/test_cinder_store.py b/glance_store/tests/unit/test_cinder_store.py
index a8ccd4b..5387aaf 100644
--- a/glance_store/tests/unit/test_cinder_store.py
+++ b/glance_store/tests/unit/test_cinder_store.py
@@ -56,23 +56,17 @@ class TestCinderStore(base.StoreBaseTest,
cinder._reset_cinder_session()
self.config(cinder_mount_point_base=None)
- def _test_get_cinderclient_with_user_overriden(self):
- self.config(cinder_store_user_name='test_user')
- self.config(cinder_store_password='test_password')
- self.config(cinder_store_project_name='test_project')
- self.config(cinder_store_auth_address='test_address')
- cc = self.store.get_cinderclient(self.context)
- self.assertEqual('test_project', cc.client.session.auth.project_name)
- self.assertEqual('Default', cc.client.session.auth.project_domain_name)
- return cc
-
def test_get_cinderclient_with_user_overriden(self):
self._test_get_cinderclient_with_user_overriden()
def test_get_cinderclient_with_user_overriden_and_region(self):
- self.config(cinder_os_region_name='test_region')
- cc = self._test_get_cinderclient_with_user_overriden()
- self.assertEqual('test_region', cc.client.region_name)
+ self._test_get_cinderclient_with_user_overriden_and_region()
+
+ def test_get_cinderclient_with_api_insecure(self):
+ self._test_get_cinderclient_with_api_insecure()
+
+ def test_get_cinderclient_with_ca_certificates(self):
+ self._test_get_cinderclient_with_ca_certificates()
def test_open_cinder_volume_multipath_enabled(self):
self.config(cinder_use_multipath=True)
diff --git a/glance_store/tests/unit/test_multistore_cinder.py b/glance_store/tests/unit/test_multistore_cinder.py
index e1504ee..931b332 100644
--- a/glance_store/tests/unit/test_multistore_cinder.py
+++ b/glance_store/tests/unit/test_multistore_cinder.py
@@ -94,13 +94,17 @@ class TestMultiCinderStore(base.MultiStoreBaseTest,
self.assertEqual("cinder://cinder1", self.store.url_prefix)
def test_get_cinderclient_with_user_overriden(self):
- self.config(cinder_store_user_name='test_user', group="cinder1")
- self.config(cinder_store_password='test_password', group="cinder1")
- self.config(cinder_store_project_name='test_project', group="cinder1")
- self.config(cinder_store_auth_address='test_address', group="cinder1")
- cc = self.store.get_cinderclient(self.context)
- self.assertEqual('Default', cc.client.session.auth.project_domain_name)
- self.assertEqual('test_project', cc.client.session.auth.project_name)
+ self._test_get_cinderclient_with_user_overriden(group='cinder1')
+
+ def test_get_cinderclient_with_user_overriden_and_region(self):
+ self._test_get_cinderclient_with_user_overriden_and_region(
+ group='cinder1')
+
+ def test_get_cinderclient_with_api_insecure(self):
+ self._test_get_cinderclient_with_api_insecure(group='cinder1')
+
+ def test_get_cinderclient_with_ca_certificates(self):
+ self._test_get_cinderclient_with_ca_certificates(group='cinder1')
def test_get_cinderclient_legacy_update(self):
cc = self.store.get_cinderclient(self.fake_admin_context,