diff options
author | whoami-rajat <rajatdhasmana@gmail.com> | 2022-03-11 19:42:49 +0530 |
---|---|---|
committer | whoami-rajat <rajatdhasmana@gmail.com> | 2022-03-14 22:25:57 +0530 |
commit | c0c4969a4a6ce77c61f84fcb37b3efdac71d6418 (patch) | |
tree | c940ddb5d861732d5c2bb352f57eb3fb4c6a10e4 /glance_store/tests | |
parent | 95b49304cde62ffbddb4e47b782320cbf7e65ca0 (diff) | |
download | glance_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.py | 54 | ||||
-rw-r--r-- | glance_store/tests/unit/test_cinder_store.py | 20 | ||||
-rw-r--r-- | glance_store/tests/unit/test_multistore_cinder.py | 18 |
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, |