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
def test_sync_tenants_from_keystone(self, AddTenantMock, get_all_tenants): # prepare test data context = mock.Mock() context.session = 'test_session' get_all_tenants.return_value = self.tenants # call tested function ret = keystone_manager.sync_tenants_from_keystone(context) # check return value and calls assert ret == len(self.tenants) get_all_tenants.assert_called_once_with() expected_call_list = [ mock.call(context.session, t.id, t.name) for t in self.tenants ] assert AddTenantMock.call_args_list == expected_call_list
def test_sync_tenants_from_keystone(self, AddTenantMock, get_all_tenants): # prepare test data context = mock.Mock() context.session = 'test_session' auth_token = 'test_auth_token' get_all_tenants.return_value = self.tenants # call tested function ret = keystone_manager.sync_tenants_from_keystone(context, auth_token) # check return value and calls assert ret == len(self.tenants) get_all_tenants.assert_called_once_with(auth_token) expected_call_list = [ mock.call(context.session, t.id, t.name) for t in self.tenants] assert AddTenantMock.call_args_list == expected_call_list
def test_sync_tenants_from_keystone_without_token(self, AddTenantMock, get_all_tenants): ret = keystone_manager.sync_tenants_from_keystone('context', None) assert ret is None get_all_tenants.assert_not_called() AddTenantMock.assert_not_called