def test_resource_list_with_all_tenants(self): # Setup graph = self._create_graph() apis = ResourceApis(graph, None, self.api_lock) ctx = {'tenant': 'project_1', 'is_admin': False} # Action resources = apis.get_resources(ctx, resource_type=None, all_tenants=True) resources = decompress_obj(resources)['resources'] # Test assertions self.assertThat(resources, matchers.HasLength(7))
def test_resource_list_with_not_admin_project_and_existing_type(self): # Setup graph = self._create_graph() apis = ResourceApis(graph, None, self.api_lock) ctx = {'tenant': 'project_2', 'is_admin': False} # Action resources = apis.get_resources(ctx, resource_type=NOVA_INSTANCE_DATASOURCE, all_tenants=False) resources = decompress_obj(resources)['resources'] # Test assertions self.assertThat(resources, matchers.HasLength(2))
def test_resource_list_with_not_admin_project_and_no_existing_type(self): # Setup graph = self._create_graph() apis = ResourceApis(graph, None) ctx = {'tenant': 'project_2', 'is_admin': False} # Action resources = apis.get_resources(ctx, resource_type=NOVA_HOST_DATASOURCE, all_tenants=False) resources = json.loads(resources)['resources'] # Test assertions self.assertThat(resources, IsEmpty())
def test_resource_list_with_not_admin_project(self): # Setup graph = self._create_graph() apis = ResourceApis(graph, None) ctx = {'tenant': 'project_2', 'is_admin': False} # Action resources = apis.get_resources(ctx, resource_type=None, all_tenants=False) resources = json.loads(resources)['resources'] # Test assertions self.assertThat(resources, matchers.HasLength(2))
def test_resource_list_with_all_tenants(self): # Setup graph = self._create_graph() apis = ResourceApis(graph, None) ctx = {'tenant': 'project_1', 'is_admin': False} # Action resources = apis.get_resources( ctx, resource_type=None, all_tenants=True) resources = json.loads(resources)['resources'] # Test assertions self.assertEqual(7, len(resources))
def test_resource_list_with_admin_project_and_query(self): # Setup graph = self._create_graph() apis = ResourceApis(graph, None, self.api_lock) ctx = {'tenant': 'project_2', 'is_admin': True} # Action resources = apis.get_resources(ctx, resource_type=NOVA_INSTANCE_DATASOURCE, all_tenants=False, query={'==': { 'id': 'instance_3' }}) resources = decompress_obj(resources)['resources'] # Test assertions self.assertThat(resources, matchers.HasLength(1))