diff options
| author | Jenkins <jenkins@review.openstack.org> | 2015-06-25 21:51:04 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2015-06-25 21:51:04 +0000 |
| commit | ec31a2a12efe54b9b1149e198560a0164f070485 (patch) | |
| tree | 270d1f144fd15a25eb2f9fe38fdd9776133eb966 /openstackclient/tests | |
| parent | 2cc679ed9f855c8dcb40ef2eeaf5f81e447772f6 (diff) | |
| parent | 4fab60634983f9327295cc68edf89824557728f9 (diff) | |
| download | python-openstackclient-ec31a2a12efe54b9b1149e198560a0164f070485.tar.gz | |
Merge "Enables retrieval of project's parents and subtree"
Diffstat (limited to 'openstackclient/tests')
| -rw-r--r-- | openstackclient/tests/identity/v3/fakes.py | 19 | ||||
| -rw-r--r-- | openstackclient/tests/identity/v3/test_project.py | 150 |
2 files changed, 169 insertions, 0 deletions
diff --git a/openstackclient/tests/identity/v3/fakes.py b/openstackclient/tests/identity/v3/fakes.py index dfbcf44f..ae7a684c 100644 --- a/openstackclient/tests/identity/v3/fakes.py +++ b/openstackclient/tests/identity/v3/fakes.py @@ -145,6 +145,25 @@ PROJECT_WITH_PARENT = { 'links': base_url + 'projects/' + (project_id + '-with-parent'), } +PROJECT_WITH_GRANDPARENT = { + 'id': project_id + '-with-grandparent', + 'name': project_name + ', granny and grandpa', + 'description': project_description + ' plus another eight?', + 'enabled': True, + 'domain_id': domain_id, + 'parent_id': PROJECT_WITH_PARENT['id'], + 'links': base_url + 'projects/' + (project_id + '-with-grandparent'), +} + +parents = [{'project': PROJECT}] +grandparents = [{'project': PROJECT}, {'project': PROJECT_WITH_PARENT}] +ids_for_parents = [PROJECT['id']] +ids_for_parents_and_grandparents = [PROJECT['id'], PROJECT_WITH_PARENT['id']] + +children = [{'project': PROJECT_WITH_GRANDPARENT}] +ids_for_children = [PROJECT_WITH_GRANDPARENT['id']] + + role_id = 'r1' role_name = 'roller' diff --git a/openstackclient/tests/identity/v3/test_project.py b/openstackclient/tests/identity/v3/test_project.py index ebf612cc..946bbdcd 100644 --- a/openstackclient/tests/identity/v3/test_project.py +++ b/openstackclient/tests/identity/v3/test_project.py @@ -783,6 +783,8 @@ class TestProjectShow(TestProject): columns, data = self.cmd.take_action(parsed_args) self.projects_mock.get.assert_called_with( identity_fakes.project_id, + parents_as_list=False, + subtree_as_list=False, ) collist = ('description', 'domain_id', 'enabled', 'id', 'name') @@ -795,3 +797,151 @@ class TestProjectShow(TestProject): identity_fakes.project_name, ) self.assertEqual(datalist, data) + + def test_project_show_parents(self): + project = copy.deepcopy(identity_fakes.PROJECT_WITH_GRANDPARENT) + project['parents'] = identity_fakes.grandparents + self.projects_mock.get.return_value = fakes.FakeResource( + None, + project, + loaded=True, + ) + + arglist = [ + identity_fakes.PROJECT_WITH_GRANDPARENT['id'], + '--parents', + ] + verifylist = [ + ('project', identity_fakes.PROJECT_WITH_GRANDPARENT['id']), + ('parents', True), + ('children', False), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + columns, data = self.cmd.take_action(parsed_args) + self.projects_mock.get.assert_called_with( + identity_fakes.PROJECT_WITH_GRANDPARENT['id'], + parents_as_list=True, + subtree_as_list=False, + ) + + collist = ( + 'description', + 'domain_id', + 'enabled', + 'id', + 'name', + 'parent_id', + 'parents', + ) + self.assertEqual(columns, collist) + datalist = ( + identity_fakes.PROJECT_WITH_GRANDPARENT['description'], + identity_fakes.PROJECT_WITH_GRANDPARENT['domain_id'], + identity_fakes.PROJECT_WITH_GRANDPARENT['enabled'], + identity_fakes.PROJECT_WITH_GRANDPARENT['id'], + identity_fakes.PROJECT_WITH_GRANDPARENT['name'], + identity_fakes.PROJECT_WITH_GRANDPARENT['parent_id'], + identity_fakes.ids_for_parents_and_grandparents, + ) + self.assertEqual(data, datalist) + + def test_project_show_subtree(self): + project = copy.deepcopy(identity_fakes.PROJECT_WITH_PARENT) + project['subtree'] = identity_fakes.children + self.projects_mock.get.return_value = fakes.FakeResource( + None, + project, + loaded=True, + ) + + arglist = [ + identity_fakes.PROJECT_WITH_PARENT['id'], + '--children', + ] + verifylist = [ + ('project', identity_fakes.PROJECT_WITH_PARENT['id']), + ('parents', False), + ('children', True), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + columns, data = self.cmd.take_action(parsed_args) + self.projects_mock.get.assert_called_with( + identity_fakes.PROJECT_WITH_PARENT['id'], + parents_as_list=False, + subtree_as_list=True, + ) + + collist = ( + 'description', + 'domain_id', + 'enabled', + 'id', + 'name', + 'parent_id', + 'subtree', + ) + self.assertEqual(columns, collist) + datalist = ( + identity_fakes.PROJECT_WITH_PARENT['description'], + identity_fakes.PROJECT_WITH_PARENT['domain_id'], + identity_fakes.PROJECT_WITH_PARENT['enabled'], + identity_fakes.PROJECT_WITH_PARENT['id'], + identity_fakes.PROJECT_WITH_PARENT['name'], + identity_fakes.PROJECT_WITH_PARENT['parent_id'], + identity_fakes.ids_for_children, + ) + self.assertEqual(data, datalist) + + def test_project_show_parents_and_children(self): + project = copy.deepcopy(identity_fakes.PROJECT_WITH_PARENT) + project['subtree'] = identity_fakes.children + project['parents'] = identity_fakes.parents + self.projects_mock.get.return_value = fakes.FakeResource( + None, + project, + loaded=True, + ) + + arglist = [ + identity_fakes.PROJECT_WITH_PARENT['id'], + '--parents', + '--children', + ] + verifylist = [ + ('project', identity_fakes.PROJECT_WITH_PARENT['id']), + ('parents', True), + ('children', True), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + columns, data = self.cmd.take_action(parsed_args) + self.projects_mock.get.assert_called_with( + identity_fakes.PROJECT_WITH_PARENT['id'], + parents_as_list=True, + subtree_as_list=True, + ) + + collist = ( + 'description', + 'domain_id', + 'enabled', + 'id', + 'name', + 'parent_id', + 'parents', + 'subtree', + ) + self.assertEqual(columns, collist) + datalist = ( + identity_fakes.PROJECT_WITH_PARENT['description'], + identity_fakes.PROJECT_WITH_PARENT['domain_id'], + identity_fakes.PROJECT_WITH_PARENT['enabled'], + identity_fakes.PROJECT_WITH_PARENT['id'], + identity_fakes.PROJECT_WITH_PARENT['name'], + identity_fakes.PROJECT_WITH_PARENT['parent_id'], + identity_fakes.ids_for_parents, + identity_fakes.ids_for_children, + ) + self.assertEqual(data, datalist) |
