def test_make_it(self): sot = project.Project(EXAMPLE) self.assertEqual(EXAMPLE['description'], sot.description) self.assertEqual(EXAMPLE['domain_id'], sot.domain_id) self.assertEqual(EXAMPLE['enabled'], sot.enabled) self.assertEqual(EXAMPLE['id'], sot.id) self.assertEqual(EXAMPLE['name'], sot.name)
def find_project(sdk_connection, name_or_id, domain_name_or_id=None): """Find a project by its name name or ID. If Forbidden to find the resource (a common case if the user does not have permission), then return the resource by creating a local instance of openstack.identity.v3.Project resource. :param sdk_connection: Connection object of OpenStack SDK. :type sdk_connection: `openstack.connection.Connection` :param name_or_id: Name or ID of the project :type name_or_id: string :param domain_name_or_id: Domain name or ID of the project. This can be used when there are multiple projects with a same name. :returns: the project object found :rtype: `openstack.identity.v3.project.Project` """ try: if domain_name_or_id: domain = sdk_connection.identity.find_domain(domain_name_or_id, ignore_missing=False) domain_id = domain.id else: domain_id = None return sdk_connection.identity.find_project(name_or_id, ignore_missing=False, domain_id=domain_id) # NOTE: OpenStack SDK raises HttpException for 403 response code. # There is no specific exception class at now, so we need to catch # HttpException and check the status code. except exceptions.HttpException as e: if e.status_code == 403: return project.Project(id=name_or_id, name=name_or_id) raise
def test_basic(self): sot = project.Project() self.assertEqual('project', sot.resource_key) self.assertEqual('projects', sot.resources_key) self.assertEqual('/projects', sot.base_path) self.assertTrue(sot.allow_create) self.assertTrue(sot.allow_fetch) self.assertTrue(sot.allow_commit) self.assertTrue(sot.allow_delete) self.assertTrue(sot.allow_list) self.assertEqual('PATCH', sot.commit_method) self.assertDictEqual( { 'domain_id': 'domain_id', 'is_domain': 'is_domain', 'name': 'name', 'parent_id': 'parent_id', 'is_enabled': 'enabled', 'limit': 'limit', 'marker': 'marker', 'tags': 'tags', 'any_tags': 'tags-any', 'not_tags': 'not-tags', 'not_any_tags': 'not-tags-any', }, sot._query_mapping._mapping)
def test_make_it(self): sot = project.Project(**EXAMPLE) self.assertEqual(EXAMPLE['description'], sot.description) self.assertEqual(EXAMPLE['domain_id'], sot.domain_id) self.assertFalse(sot.is_domain) self.assertTrue(sot.is_enabled) self.assertEqual(EXAMPLE['id'], sot.id) self.assertEqual(EXAMPLE['name'], sot.name) self.assertEqual(EXAMPLE['parent_id'], sot.parent_id)
def test_basic(self): sot = project.Project() self.assertEqual('project', sot.resource_key) self.assertEqual('projects', sot.resources_key) self.assertEqual('/projects', sot.base_path) self.assertEqual('identity', sot.service.service_type) self.assertTrue(sot.allow_create) self.assertTrue(sot.allow_retrieve) self.assertTrue(sot.allow_update) self.assertTrue(sot.allow_delete) self.assertTrue(sot.allow_list)
def test_basic(self): sot = project.Project() self.assertEqual('project', sot.resource_key) self.assertEqual('projects', sot.resources_key) self.assertEqual('/projects', sot.base_path) self.assertEqual('identity', sot.service.service_type) self.assertTrue(sot.allow_create) self.assertTrue(sot.allow_get) self.assertTrue(sot.allow_update) self.assertTrue(sot.allow_delete) self.assertTrue(sot.allow_list) self.assertEqual('PATCH', sot.update_method) self.assertDictEqual( { 'domain_id': 'domain_id', 'is_domain': 'is_domain', 'name': 'name', 'parent_id': 'parent_id', 'is_enabled': 'enabled', 'limit': 'limit', 'marker': 'marker', }, sot._query_mapping._mapping)
def get_project(self, **data): return project.Project(data).get(self.session)
def update_project(self, **data): return project.Project(data).update(self.session)
def delete_project(self, **data): project.Project(data).delete(self.session)
def create_project(self, **data): return project.Project(data).create(self.session)