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
This commit is contained in:
whoami-rajat 2022-03-11 19:42:49 +05:30
parent 95b49304cd
commit c0c4969a4a
3 changed files with 72 additions and 20 deletions

View File

@ -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)

View File

@ -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)

View File

@ -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,