def _test_get_all_tenants(self, version, get_keystone_client_mock): # prepare mocks client_mock = mock.MagicMock() client_mock.version = version get_keystone_client_mock.return_value = client_mock # call tested function keystone_manager.get_all_tenants() # check calls get_keystone_client_mock.assert_called_once_with() if version == 'v3': client_mock.projects.list.assert_called_once_with() else: client_mock.tenants.list.assert_called_once_with()
def _test_get_all_tenants(self, version, get_keystone_client_mock): # prepare mocks auth_token = 'test_auth_token' client_mock = mock.MagicMock() client_mock.version = version get_keystone_client_mock.return_value = client_mock # call tested function keystone_manager.get_all_tenants(auth_token) # check calls get_keystone_client_mock.assert_called_once_with(auth_token) if version == 'v3': client_mock.projects.list.assert_called_once_with() else: client_mock.tenants.list.assert_called_once_with()
def get_tenant_name(self, tenant_id=None): """Returns tenant name from context or db. If tenant id stored in context matches requested one, then return tenant name from context. If incoming tenant_id is different from context one then query db. """ tenant_id_in_query = tenant_id or self.tenant_id if tenant_id_in_query: if self.context.tenant_name and (self.context.tenant_id == tenant_id_in_query): return self.context.tenant_name if self.grid_config.tenant_name_persistence: tenant = dbi.get_tenant(self.context.session, tenant_id_in_query) if tenant: return tenant.tenant_name if self.grid_config.tenant_name_persistence: # Try resync with keystone if still no tenant name is found if km.sync_tenants_from_keystone(self.context): tenant = dbi.get_tenant(self.context.session, tenant_id_in_query) if tenant: return tenant.tenant_name else: tenants = km.get_all_tenants() for tenant in tenants: if tenant.id == tenant_id_in_query: return tenant.name return None
def get_tenant_name(self, tenant_id=None): """Returns tenant name from context or db. If tenant id stored in context matches requested one, then return tenant name from context. If incoming tenant_id is different from context one then query db. """ tenant_id_in_query = tenant_id or self.tenant_id if tenant_id_in_query: if self.context.tenant_name and ( self.context.tenant_id == tenant_id_in_query): return self.context.tenant_name if self.grid_config.tenant_name_persistence: tenant = dbi.get_tenant(self.context.session, tenant_id_in_query) if tenant: return tenant.tenant_name if self.grid_config.tenant_name_persistence: # Try resync with keystone if still no tenant name is found if km.sync_tenants_from_keystone(self.context, self.context.auth_token): tenant = dbi.get_tenant(self.context.session, tenant_id_in_query) if tenant: return tenant.tenant_name else: tenants = km.get_all_tenants(self.context.auth_token) for tenant in tenants: if tenant.id == tenant_id_in_query: return tenant.name return None