diff options
| author | Qiu Yu <qiuyu@ebaysf.com> | 2014-01-29 22:54:01 +0800 |
|---|---|---|
| committer | Dean Troyer <dtroyer@gmail.com> | 2014-06-13 15:20:42 -0500 |
| commit | f78a3f1653c634e40071fb96750b9ca64865c058 (patch) | |
| tree | 2417adb17de522485924cc0adc90cce796006ceb /openstackclient/tests | |
| parent | 7f6a901d011ae366a5dea6fa7e532ab941125e9e (diff) | |
| download | python-openstackclient-f78a3f1653c634e40071fb96750b9ca64865c058.tar.gz | |
Refactor role list subcommand for identity v3 api
Currently parts of user list and group list command are actually
functioning as role listing, which is quite counter intuitive and
misleading.
This refactor change move role related logic to a single place of role
list command. It now allows role grants listing for user/group +
domain/project combinations.
If no user or group specified, it will list all roles in the system,
which is the default behaviour.
Change-Id: I4ced6df4b76f018d01000d28b4281ad9f252ffcc
Diffstat (limited to 'openstackclient/tests')
| -rw-r--r-- | openstackclient/tests/identity/v3/test_role.py | 187 | ||||
| -rw-r--r-- | openstackclient/tests/identity/v3/test_user.py | 175 |
2 files changed, 187 insertions, 175 deletions
diff --git a/openstackclient/tests/identity/v3/test_role.py b/openstackclient/tests/identity/v3/test_role.py index 0c0551e1..fa02ecb9 100644 --- a/openstackclient/tests/identity/v3/test_role.py +++ b/openstackclient/tests/identity/v3/test_role.py @@ -296,6 +296,27 @@ class TestRoleList(TestRole): ), ] + self.domains_mock.get.return_value = fakes.FakeResource( + None, + copy.deepcopy(identity_fakes.DOMAIN), + loaded=True, + ) + self.projects_mock.get.return_value = fakes.FakeResource( + None, + copy.deepcopy(identity_fakes.PROJECT), + loaded=True, + ) + self.users_mock.get.return_value = fakes.FakeResource( + None, + copy.deepcopy(identity_fakes.USER), + loaded=True, + ) + self.groups_mock.get.return_value = fakes.FakeResource( + None, + copy.deepcopy(identity_fakes.GROUP), + loaded=True, + ) + # Get the command object to test self.cmd = role.ListRole(self.app, None) @@ -317,6 +338,172 @@ class TestRoleList(TestRole): ), ) self.assertEqual(tuple(data), datalist) + def test_user_list_user(self): + arglist = [ + '--user', identity_fakes.user_id, + ] + verifylist = [ + ('user', identity_fakes.user_id), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # DisplayCommandBase.take_action() returns two tuples + columns, data = self.cmd.take_action(parsed_args) + + # Set expected values + kwargs = { + 'domain': 'default', + 'user': self.users_mock.get(), + } + # RoleManager.list(user=, group=, domain=, project=, **kwargs) + self.roles_mock.list.assert_called_with( + **kwargs + ) + + collist = ('ID', 'Name') + self.assertEqual(columns, collist) + datalist = (( + identity_fakes.role_id, + identity_fakes.role_name, + ), ) + self.assertEqual(tuple(data), datalist) + + def test_role_list_domain_user(self): + arglist = [ + '--domain', identity_fakes.domain_name, + '--user', identity_fakes.user_id, + ] + verifylist = [ + ('domain', identity_fakes.domain_name), + ('user', identity_fakes.user_id), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # DisplayCommandBase.take_action() returns two tuples + columns, data = self.cmd.take_action(parsed_args) + + # Set expected values + kwargs = { + 'domain': self.domains_mock.get(), + 'user': self.users_mock.get(), + } + # RoleManager.list(user=, group=, domain=, project=, **kwargs) + self.roles_mock.list.assert_called_with( + **kwargs + ) + + collist = ('ID', 'Name', 'Domain', 'User') + self.assertEqual(columns, collist) + datalist = (( + identity_fakes.role_id, + identity_fakes.role_name, + identity_fakes.domain_name, + identity_fakes.user_name, + ), ) + self.assertEqual(tuple(data), datalist) + + def test_role_list_domain_group(self): + arglist = [ + '--domain', identity_fakes.domain_name, + '--group', identity_fakes.group_id, + ] + verifylist = [ + ('domain', identity_fakes.domain_name), + ('group', identity_fakes.group_id), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # DisplayCommandBase.take_action() returns two tuples + columns, data = self.cmd.take_action(parsed_args) + + # Set expected values + kwargs = { + 'domain': self.domains_mock.get(), + 'group': self.groups_mock.get(), + } + # RoleManager.list(user=, group=, domain=, project=, **kwargs) + self.roles_mock.list.assert_called_with( + **kwargs + ) + + collist = ('ID', 'Name', 'Domain', 'Group') + self.assertEqual(columns, collist) + datalist = (( + identity_fakes.role_id, + identity_fakes.role_name, + identity_fakes.domain_name, + identity_fakes.group_name, + ), ) + self.assertEqual(tuple(data), datalist) + + def test_role_list_project_user(self): + arglist = [ + '--project', identity_fakes.project_name, + '--user', identity_fakes.user_id, + ] + verifylist = [ + ('project', identity_fakes.project_name), + ('user', identity_fakes.user_id), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # DisplayCommandBase.take_action() returns two tuples + columns, data = self.cmd.take_action(parsed_args) + + # Set expected values + kwargs = { + 'project': self.projects_mock.get(), + 'user': self.users_mock.get(), + } + # RoleManager.list(user=, group=, domain=, project=, **kwargs) + self.roles_mock.list.assert_called_with( + **kwargs + ) + + collist = ('ID', 'Name', 'Project', 'User') + self.assertEqual(columns, collist) + datalist = (( + identity_fakes.role_id, + identity_fakes.role_name, + identity_fakes.project_name, + identity_fakes.user_name, + ), ) + self.assertEqual(tuple(data), datalist) + + def test_role_list_project_group(self): + arglist = [ + '--project', identity_fakes.project_name, + '--group', identity_fakes.group_id, + ] + verifylist = [ + ('project', identity_fakes.project_name), + ('group', identity_fakes.group_id), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # DisplayCommandBase.take_action() returns two tuples + columns, data = self.cmd.take_action(parsed_args) + + # Set expected values + kwargs = { + 'project': self.projects_mock.get(), + 'group': self.groups_mock.get(), + } + # RoleManager.list(user=, group=, domain=, project=, **kwargs) + self.roles_mock.list.assert_called_with( + **kwargs + ) + + collist = ('ID', 'Name', 'Project', 'Group') + self.assertEqual(columns, collist) + datalist = (( + identity_fakes.role_id, + identity_fakes.role_name, + identity_fakes.project_name, + identity_fakes.group_name, + ), ) + self.assertEqual(tuple(data), datalist) + class TestRoleRemove(TestRole): diff --git a/openstackclient/tests/identity/v3/test_user.py b/openstackclient/tests/identity/v3/test_user.py index 093d919b..b9c060d7 100644 --- a/openstackclient/tests/identity/v3/test_user.py +++ b/openstackclient/tests/identity/v3/test_user.py @@ -476,33 +476,6 @@ class TestUserList(TestUser): def setUp(self): super(TestUserList, self).setUp() - self.domains_mock.get.return_value = fakes.FakeResource( - None, - copy.deepcopy(identity_fakes.DOMAIN), - loaded=True, - ) - - self.projects_mock.get.return_value = fakes.FakeResource( - None, - copy.deepcopy(identity_fakes.PROJECT), - loaded=True, - ) - self.projects_mock.list.return_value = [ - fakes.FakeResource( - None, - copy.deepcopy(identity_fakes.PROJECT), - loaded=True, - ), - ] - - self.roles_mock.list.return_value = [ - fakes.FakeResource( - None, - copy.deepcopy(identity_fakes.ROLE), - loaded=True, - ), - ] - self.users_mock.get.return_value = fakes.FakeResource( None, copy.deepcopy(identity_fakes.USER), @@ -537,154 +510,6 @@ class TestUserList(TestUser): ), ) self.assertEqual(tuple(data), datalist) - def test_user_list_project(self): - arglist = [ - '--project', identity_fakes.project_id, - ] - verifylist = [ - ('project', identity_fakes.project_id), - ] - parsed_args = self.check_parser(self.cmd, arglist, verifylist) - - # DisplayCommandBase.take_action() returns two tuples - columns, data = self.cmd.take_action(parsed_args) - - self.users_mock.list.assert_called_with() - - collist = ('ID', 'Name') - self.assertEqual(columns, collist) - datalist = (( - identity_fakes.user_id, - identity_fakes.user_name, - ), ) - self.assertEqual(tuple(data), datalist) - - def test_user_list_domain(self): - arglist = [ - '--domain', identity_fakes.domain_id, - ] - verifylist = [ - ('domain', identity_fakes.domain_id), - ] - parsed_args = self.check_parser(self.cmd, arglist, verifylist) - - # DisplayCommandBase.take_action() returns two tuples - columns, data = self.cmd.take_action(parsed_args) - - self.users_mock.list.assert_called_with() - - collist = ('ID', 'Name') - self.assertEqual(columns, collist) - datalist = (( - identity_fakes.user_id, - identity_fakes.user_name, - ), ) - self.assertEqual(tuple(data), datalist) - - def test_user_list_role_user(self): - arglist = [ - '--role', - identity_fakes.user_id, - ] - verifylist = [ - ('role', True), - ('user', identity_fakes.user_id), - ] - parsed_args = self.check_parser(self.cmd, arglist, verifylist) - - # DisplayCommandBase.take_action() returns two tuples - columns, data = self.cmd.take_action(parsed_args) - - # Set expected values - kwargs = { - 'domain': 'default', - 'user': self.users_mock.get(), - } - # RoleManager.list(user=, group=, domain=, project=, **kwargs) - self.roles_mock.list.assert_called_with( - **kwargs - ) - - collist = ('ID', 'Name') - self.assertEqual(columns, collist) - datalist = (( - identity_fakes.role_id, - identity_fakes.role_name, - ), ) - self.assertEqual(tuple(data), datalist) - - def test_user_list_role_domain(self): - arglist = [ - '--domain', identity_fakes.domain_name, - '--role', - identity_fakes.user_id, - ] - verifylist = [ - ('domain', identity_fakes.domain_name), - ('role', True), - ('user', identity_fakes.user_id), - ] - parsed_args = self.check_parser(self.cmd, arglist, verifylist) - - # DisplayCommandBase.take_action() returns two tuples - columns, data = self.cmd.take_action(parsed_args) - - # Set expected values - kwargs = { - 'domain': self.domains_mock.get(), - 'user': self.users_mock.get(), - } - # RoleManager.list(user=, group=, domain=, project=, **kwargs) - self.roles_mock.list.assert_called_with( - **kwargs - ) - - collist = ('ID', 'Name', 'Domain', 'User') - self.assertEqual(columns, collist) - datalist = (( - identity_fakes.role_id, - identity_fakes.role_name, - identity_fakes.domain_name, - identity_fakes.user_name, - ), ) - self.assertEqual(tuple(data), datalist) - - def test_user_list_role_project(self): - arglist = [ - '--project', identity_fakes.project_name, - '--role', - identity_fakes.user_id, - ] - verifylist = [ - ('project', identity_fakes.project_name), - ('role', True), - ('user', identity_fakes.user_id), - ] - parsed_args = self.check_parser(self.cmd, arglist, verifylist) - - # DisplayCommandBase.take_action() returns two tuples - columns, data = self.cmd.take_action(parsed_args) - - # Set expected values - kwargs = { - 'project': self.projects_mock.get(), - 'user': self.users_mock.get(), - } - # RoleManager.list(user=, group=, domain=, project=, **kwargs) - self.roles_mock.list.assert_called_with( - **kwargs - ) - - collist = ('ID', 'Name', 'Project', 'User') - self.assertEqual(columns, collist) - datalist = (( - identity_fakes.role_id, - identity_fakes.role_name, - identity_fakes.project_name, - identity_fakes.user_name, - ), ) - self.assertEqual(tuple(data), datalist) - def test_user_list_long(self): arglist = [ '--long', |
