summaryrefslogtreecommitdiff
path: root/openstackclient/tests/identity/v3/test_role.py
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient/tests/identity/v3/test_role.py')
-rw-r--r--openstackclient/tests/identity/v3/test_role.py1105
1 files changed, 0 insertions, 1105 deletions
diff --git a/openstackclient/tests/identity/v3/test_role.py b/openstackclient/tests/identity/v3/test_role.py
deleted file mode 100644
index b4e76d96..00000000
--- a/openstackclient/tests/identity/v3/test_role.py
+++ /dev/null
@@ -1,1105 +0,0 @@
-# Copyright 2013 Nebula Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-
-import copy
-
-from openstackclient.identity.v3 import role
-from openstackclient.tests import fakes
-from openstackclient.tests.identity.v3 import fakes as identity_fakes
-
-
-class TestRole(identity_fakes.TestIdentityv3):
-
- def setUp(self):
- super(TestRole, self).setUp()
-
- # Get a shortcut to the UserManager Mock
- self.users_mock = self.app.client_manager.identity.users
- self.users_mock.reset_mock()
-
- # Get a shortcut to the UserManager Mock
- self.groups_mock = self.app.client_manager.identity.groups
- self.groups_mock.reset_mock()
-
- # Get a shortcut to the DomainManager Mock
- self.domains_mock = self.app.client_manager.identity.domains
- self.domains_mock.reset_mock()
-
- # Get a shortcut to the ProjectManager Mock
- self.projects_mock = self.app.client_manager.identity.projects
- self.projects_mock.reset_mock()
-
- # Get a shortcut to the RoleManager Mock
- self.roles_mock = self.app.client_manager.identity.roles
- self.roles_mock.reset_mock()
-
- def _is_inheritance_testcase(self):
- return False
-
-
-class TestRoleInherited(TestRole):
-
- def _is_inheritance_testcase(self):
- return True
-
-
-class TestRoleAdd(TestRole):
-
- def setUp(self):
- super(TestRoleAdd, self).setUp()
-
- 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,
- )
-
- 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.roles_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ROLE),
- loaded=True,
- )
- self.roles_mock.grant.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ROLE),
- loaded=True,
- )
-
- # Get the command object to test
- self.cmd = role.AddRole(self.app, None)
-
- def test_role_add_user_domain(self):
- arglist = [
- '--user', identity_fakes.user_name,
- '--domain', identity_fakes.domain_name,
- identity_fakes.role_name,
- ]
- if self._is_inheritance_testcase():
- arglist.append('--inherited')
- verifylist = [
- ('user', identity_fakes.user_name),
- ('group', None),
- ('domain', identity_fakes.domain_name),
- ('project', None),
- ('role', identity_fakes.role_name),
- ('inherited', self._is_inheritance_testcase()),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- result = self.cmd.take_action(parsed_args)
-
- # Set expected values
- kwargs = {
- 'user': identity_fakes.user_id,
- 'domain': identity_fakes.domain_id,
- 'os_inherit_extension_inherited': self._is_inheritance_testcase(),
- }
- # RoleManager.grant(role, user=, group=, domain=, project=)
- self.roles_mock.grant.assert_called_with(
- identity_fakes.role_id,
- **kwargs
- )
- self.assertIsNone(result)
-
- def test_role_add_user_project(self):
- arglist = [
- '--user', identity_fakes.user_name,
- '--project', identity_fakes.project_name,
- identity_fakes.role_name,
- ]
- if self._is_inheritance_testcase():
- arglist.append('--inherited')
- verifylist = [
- ('user', identity_fakes.user_name),
- ('group', None),
- ('domain', None),
- ('project', identity_fakes.project_name),
- ('role', identity_fakes.role_name),
- ('inherited', self._is_inheritance_testcase()),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- result = self.cmd.take_action(parsed_args)
-
- # Set expected values
- kwargs = {
- 'user': identity_fakes.user_id,
- 'project': identity_fakes.project_id,
- 'os_inherit_extension_inherited': self._is_inheritance_testcase(),
- }
- # RoleManager.grant(role, user=, group=, domain=, project=)
- self.roles_mock.grant.assert_called_with(
- identity_fakes.role_id,
- **kwargs
- )
- self.assertIsNone(result)
-
- def test_role_add_group_domain(self):
- arglist = [
- '--group', identity_fakes.group_name,
- '--domain', identity_fakes.domain_name,
- identity_fakes.role_name,
- ]
- if self._is_inheritance_testcase():
- arglist.append('--inherited')
- verifylist = [
- ('user', None),
- ('group', identity_fakes.group_name),
- ('domain', identity_fakes.domain_name),
- ('project', None),
- ('role', identity_fakes.role_name),
- ('inherited', self._is_inheritance_testcase()),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- result = self.cmd.take_action(parsed_args)
-
- # Set expected values
- kwargs = {
- 'group': identity_fakes.group_id,
- 'domain': identity_fakes.domain_id,
- 'os_inherit_extension_inherited': self._is_inheritance_testcase(),
- }
- # RoleManager.grant(role, user=, group=, domain=, project=)
- self.roles_mock.grant.assert_called_with(
- identity_fakes.role_id,
- **kwargs
- )
- self.assertIsNone(result)
-
- def test_role_add_group_project(self):
- arglist = [
- '--group', identity_fakes.group_name,
- '--project', identity_fakes.project_name,
- identity_fakes.role_name,
- ]
- if self._is_inheritance_testcase():
- arglist.append('--inherited')
- verifylist = [
- ('user', None),
- ('group', identity_fakes.group_name),
- ('domain', None),
- ('project', identity_fakes.project_name),
- ('role', identity_fakes.role_name),
- ('inherited', self._is_inheritance_testcase()),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- result = self.cmd.take_action(parsed_args)
-
- # Set expected values
- kwargs = {
- 'group': identity_fakes.group_id,
- 'project': identity_fakes.project_id,
- 'os_inherit_extension_inherited': self._is_inheritance_testcase(),
- }
- # RoleManager.grant(role, user=, group=, domain=, project=)
- self.roles_mock.grant.assert_called_with(
- identity_fakes.role_id,
- **kwargs
- )
- self.assertIsNone(result)
-
- def test_role_add_domain_role_on_user_project(self):
- self.roles_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ROLE_2),
- loaded=True,
- )
- arglist = [
- '--user', identity_fakes.user_name,
- '--project', identity_fakes.project_name,
- '--role-domain', identity_fakes.domain_name,
- identity_fakes.ROLE_2['name'],
- ]
- if self._is_inheritance_testcase():
- arglist.append('--inherited')
- verifylist = [
- ('user', identity_fakes.user_name),
- ('group', None),
- ('domain', None),
- ('project', identity_fakes.project_name),
- ('role', identity_fakes.ROLE_2['name']),
- ('inherited', self._is_inheritance_testcase()),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- result = self.cmd.take_action(parsed_args)
-
- # Set expected values
- kwargs = {
- 'user': identity_fakes.user_id,
- 'project': identity_fakes.project_id,
- 'os_inherit_extension_inherited': self._is_inheritance_testcase(),
- }
- # RoleManager.grant(role, user=, group=, domain=, project=)
- self.roles_mock.grant.assert_called_with(
- identity_fakes.ROLE_2['id'],
- **kwargs
- )
- self.assertIsNone(result)
-
-
-class TestRoleAddInherited(TestRoleAdd, TestRoleInherited):
- pass
-
-
-class TestRoleCreate(TestRole):
-
- def setUp(self):
- super(TestRoleCreate, self).setUp()
-
- self.domains_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.DOMAIN),
- loaded=True,
- )
-
- self.roles_mock.create.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ROLE),
- loaded=True,
- )
-
- # Get the command object to test
- self.cmd = role.CreateRole(self.app, None)
-
- def test_role_create_no_options(self):
- arglist = [
- identity_fakes.role_name,
- ]
- verifylist = [
- ('name', identity_fakes.role_name),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- # In base command class ShowOne in cliff, abstract method take_action()
- # returns a two-part tuple with a tuple of column names and a tuple of
- # data to be shown.
- columns, data = self.cmd.take_action(parsed_args)
-
- # Set expected values
- kwargs = {
- 'domain': None,
- 'name': identity_fakes.role_name,
- }
-
- # RoleManager.create(name=, domain=)
- self.roles_mock.create.assert_called_with(
- **kwargs
- )
-
- collist = ('domain', 'id', 'name')
- self.assertEqual(collist, columns)
- datalist = (
- None,
- identity_fakes.role_id,
- identity_fakes.role_name,
- )
- self.assertEqual(datalist, data)
-
- def test_role_create_with_domain(self):
-
- self.roles_mock.create.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ROLE_2),
- loaded=True,
- )
-
- arglist = [
- '--domain', identity_fakes.domain_name,
- identity_fakes.ROLE_2['name'],
- ]
- verifylist = [
- ('domain', identity_fakes.domain_name),
- ('name', identity_fakes.ROLE_2['name']),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- # In base command class ShowOne in cliff, abstract method take_action()
- # returns a two-part tuple with a tuple of column names and a tuple of
- # data to be shown.
- columns, data = self.cmd.take_action(parsed_args)
-
- # Set expected values
- kwargs = {
- 'domain': identity_fakes.domain_id,
- 'name': identity_fakes.ROLE_2['name'],
- }
-
- # RoleManager.create(name=, domain=)
- self.roles_mock.create.assert_called_with(
- **kwargs
- )
-
- collist = ('domain', 'id', 'name')
- self.assertEqual(collist, columns)
- datalist = (
- identity_fakes.domain_id,
- identity_fakes.ROLE_2['id'],
- identity_fakes.ROLE_2['name'],
- )
- self.assertEqual(datalist, data)
-
-
-class TestRoleDelete(TestRole):
-
- def setUp(self):
- super(TestRoleDelete, self).setUp()
-
- self.roles_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ROLE),
- loaded=True,
- )
- self.roles_mock.delete.return_value = None
-
- # Get the command object to test
- self.cmd = role.DeleteRole(self.app, None)
-
- def test_role_delete_no_options(self):
- arglist = [
- identity_fakes.role_name,
- ]
- verifylist = [
- ('roles', [identity_fakes.role_name]),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- result = self.cmd.take_action(parsed_args)
-
- self.roles_mock.delete.assert_called_with(
- identity_fakes.role_id,
- )
- self.assertIsNone(result)
-
- def test_role_delete_with_domain(self):
- self.roles_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ROLE_2),
- loaded=True,
- )
- self.roles_mock.delete.return_value = None
-
- arglist = [
- '--domain', identity_fakes.domain_name,
- identity_fakes.ROLE_2['name'],
- ]
- verifylist = [
- ('roles', [identity_fakes.ROLE_2['name']]),
- ('domain', identity_fakes.domain_name),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- result = self.cmd.take_action(parsed_args)
-
- self.roles_mock.delete.assert_called_with(
- identity_fakes.ROLE_2['id'],
- )
- self.assertIsNone(result)
-
-
-class TestRoleList(TestRole):
-
- columns = (
- 'ID',
- 'Name',
- )
- datalist = (
- (
- identity_fakes.role_id,
- identity_fakes.role_name,
- ),
- )
-
- def setUp(self):
- super(TestRoleList, self).setUp()
-
- self.roles_mock.list.return_value = [
- fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ROLE),
- loaded=True,
- ),
- ]
-
- 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)
-
- def test_role_list_no_options(self):
- arglist = []
- verifylist = []
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- # In base command class Lister in cliff, abstract method take_action()
- # returns a tuple containing the column names and an iterable
- # containing the data to be listed.
- columns, data = self.cmd.take_action(parsed_args)
-
- self.roles_mock.list.assert_called_with()
-
- self.assertEqual(self.columns, columns)
- self.assertEqual(self.datalist, tuple(data))
-
- def test_user_list_inherited(self):
- arglist = [
- '--user', identity_fakes.user_id,
- '--inherited',
- ]
- verifylist = [
- ('user', identity_fakes.user_id),
- ('inherited', True),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- # In base command class Lister in cliff, abstract method take_action()
- # returns a tuple containing the column names and an iterable
- # containing the data to be listed.
- columns, data = self.cmd.take_action(parsed_args)
-
- # Set expected values
- kwargs = {
- 'domain': 'default',
- 'user': self.users_mock.get(),
- 'os_inherit_extension_inherited': True,
- }
- # RoleManager.list(user=, group=, domain=, project=, **kwargs)
- self.roles_mock.list.assert_called_with(
- **kwargs
- )
-
- self.assertEqual(self.columns, columns)
- self.assertEqual(self.datalist, tuple(data))
-
- 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)
-
- # In base command class Lister in cliff, abstract method take_action()
- # returns a tuple containing the column names and an iterable
- # containing the data to be listed.
- columns, data = self.cmd.take_action(parsed_args)
-
- # Set expected values
- kwargs = {
- 'domain': 'default',
- 'user': self.users_mock.get(),
- 'os_inherit_extension_inherited': False
- }
- # RoleManager.list(user=, group=, domain=, project=, **kwargs)
- self.roles_mock.list.assert_called_with(
- **kwargs
- )
-
- self.assertEqual(self.columns, columns)
- self.assertEqual(self.datalist, tuple(data))
-
- 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)
-
- # In base command class Lister in cliff, abstract method take_action()
- # returns a tuple containing the column names and an iterable
- # containing the data to be listed.
- columns, data = self.cmd.take_action(parsed_args)
-
- # Set expected values
- kwargs = {
- 'domain': self.domains_mock.get(),
- 'user': self.users_mock.get(),
- 'os_inherit_extension_inherited': False
- }
- # RoleManager.list(user=, group=, domain=, project=, **kwargs)
- self.roles_mock.list.assert_called_with(
- **kwargs
- )
-
- collist = ('ID', 'Name', 'Domain', 'User')
- self.assertEqual(collist, columns)
- datalist = ((
- identity_fakes.role_id,
- identity_fakes.role_name,
- identity_fakes.domain_name,
- identity_fakes.user_name,
- ), )
- self.assertEqual(datalist, tuple(data))
-
- 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)
-
- # In base command class Lister in cliff, abstract method take_action()
- # returns a tuple containing the column names and an iterable
- # containing the data to be listed.
- columns, data = self.cmd.take_action(parsed_args)
-
- # Set expected values
- kwargs = {
- 'domain': self.domains_mock.get(),
- 'group': self.groups_mock.get(),
- 'os_inherit_extension_inherited': False
- }
- # RoleManager.list(user=, group=, domain=, project=, **kwargs)
- self.roles_mock.list.assert_called_with(
- **kwargs
- )
-
- collist = ('ID', 'Name', 'Domain', 'Group')
- self.assertEqual(collist, columns)
- datalist = ((
- identity_fakes.role_id,
- identity_fakes.role_name,
- identity_fakes.domain_name,
- identity_fakes.group_name,
- ), )
- self.assertEqual(datalist, tuple(data))
-
- 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)
-
- # In base command class Lister in cliff, abstract method take_action()
- # returns a tuple containing the column names and an iterable
- # containing the data to be listed.
- columns, data = self.cmd.take_action(parsed_args)
-
- # Set expected values
- kwargs = {
- 'project': self.projects_mock.get(),
- 'user': self.users_mock.get(),
- 'os_inherit_extension_inherited': False
- }
- # RoleManager.list(user=, group=, domain=, project=, **kwargs)
- self.roles_mock.list.assert_called_with(
- **kwargs
- )
-
- collist = ('ID', 'Name', 'Project', 'User')
- self.assertEqual(collist, columns)
- datalist = ((
- identity_fakes.role_id,
- identity_fakes.role_name,
- identity_fakes.project_name,
- identity_fakes.user_name,
- ), )
- self.assertEqual(datalist, tuple(data))
-
- 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)
-
- # In base command class Lister in cliff, abstract method take_action()
- # returns a tuple containing the column names and an iterable
- # containing the data to be listed.
- columns, data = self.cmd.take_action(parsed_args)
-
- # Set expected values
- kwargs = {
- 'project': self.projects_mock.get(),
- 'group': self.groups_mock.get(),
- 'os_inherit_extension_inherited': False
- }
- # RoleManager.list(user=, group=, domain=, project=, **kwargs)
- self.roles_mock.list.assert_called_with(
- **kwargs
- )
-
- collist = ('ID', 'Name', 'Project', 'Group')
- self.assertEqual(collist, columns)
- datalist = ((
- identity_fakes.role_id,
- identity_fakes.role_name,
- identity_fakes.project_name,
- identity_fakes.group_name,
- ), )
- self.assertEqual(datalist, tuple(data))
-
- def test_role_list_domain_role(self):
- self.roles_mock.list.return_value = [
- fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ROLE_2),
- loaded=True,
- ),
- ]
- arglist = [
- '--domain', identity_fakes.domain_name,
- ]
- verifylist = [
- ('domain', identity_fakes.domain_name),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- # In base command class Lister in cliff, abstract method take_action()
- # returns a tuple containing the column names and an iterable
- # containing the data to be listed.
- columns, data = self.cmd.take_action(parsed_args)
-
- # Set expected values
- kwargs = {
- 'domain_id': identity_fakes.domain_id
- }
- # RoleManager.list(user=, group=, domain=, project=, **kwargs)
- self.roles_mock.list.assert_called_with(
- **kwargs
- )
-
- collist = ('ID', 'Name', 'Domain')
- self.assertEqual(collist, columns)
- datalist = ((
- identity_fakes.ROLE_2['id'],
- identity_fakes.ROLE_2['name'],
- identity_fakes.domain_name,
- ), )
- self.assertEqual(datalist, tuple(data))
-
-
-class TestRoleRemove(TestRole):
-
- def setUp(self):
- super(TestRoleRemove, self).setUp()
-
- 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,
- )
-
- 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.roles_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ROLE),
- loaded=True,
- )
- self.roles_mock.revoke.return_value = None
-
- # Get the command object to test
- self.cmd = role.RemoveRole(self.app, None)
-
- def test_role_remove_user_domain(self):
- arglist = [
- '--user', identity_fakes.user_name,
- '--domain', identity_fakes.domain_name,
- identity_fakes.role_name,
- ]
- if self._is_inheritance_testcase():
- arglist.append('--inherited')
- verifylist = [
- ('user', identity_fakes.user_name),
- ('group', None),
- ('domain', identity_fakes.domain_name),
- ('project', None),
- ('role', identity_fakes.role_name),
- ('inherited', self._is_inheritance_testcase()),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- result = self.cmd.take_action(parsed_args)
-
- # Set expected values
- kwargs = {
- 'user': identity_fakes.user_id,
- 'domain': identity_fakes.domain_id,
- 'os_inherit_extension_inherited': self._is_inheritance_testcase(),
- }
- # RoleManager.revoke(role, user=, group=, domain=, project=)
- self.roles_mock.revoke.assert_called_with(
- identity_fakes.role_id,
- **kwargs
- )
- self.assertIsNone(result)
-
- def test_role_remove_user_project(self):
- arglist = [
- '--user', identity_fakes.user_name,
- '--project', identity_fakes.project_name,
- identity_fakes.role_name,
- ]
- if self._is_inheritance_testcase():
- arglist.append('--inherited')
- verifylist = [
- ('user', identity_fakes.user_name),
- ('group', None),
- ('domain', None),
- ('project', identity_fakes.project_name),
- ('role', identity_fakes.role_name),
- ('inherited', self._is_inheritance_testcase()),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- result = self.cmd.take_action(parsed_args)
-
- # Set expected values
- kwargs = {
- 'user': identity_fakes.user_id,
- 'project': identity_fakes.project_id,
- 'os_inherit_extension_inherited': self._is_inheritance_testcase(),
- }
- # RoleManager.revoke(role, user=, group=, domain=, project=)
- self.roles_mock.revoke.assert_called_with(
- identity_fakes.role_id,
- **kwargs
- )
- self.assertIsNone(result)
-
- def test_role_remove_group_domain(self):
- arglist = [
- '--group', identity_fakes.group_name,
- '--domain', identity_fakes.domain_name,
- identity_fakes.role_name,
- ]
- if self._is_inheritance_testcase():
- arglist.append('--inherited')
- verifylist = [
- ('user', None),
- ('group', identity_fakes.group_name),
- ('domain', identity_fakes.domain_name),
- ('project', None),
- ('role', identity_fakes.role_name),
- ('role', identity_fakes.role_name),
- ('inherited', self._is_inheritance_testcase()),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- result = self.cmd.take_action(parsed_args)
-
- # Set expected values
- kwargs = {
- 'group': identity_fakes.group_id,
- 'domain': identity_fakes.domain_id,
- 'os_inherit_extension_inherited': self._is_inheritance_testcase(),
- }
- # RoleManager.revoke(role, user=, group=, domain=, project=)
- self.roles_mock.revoke.assert_called_with(
- identity_fakes.role_id,
- **kwargs
- )
- self.assertIsNone(result)
-
- def test_role_remove_group_project(self):
- arglist = [
- '--group', identity_fakes.group_name,
- '--project', identity_fakes.project_name,
- identity_fakes.role_name,
- ]
- if self._is_inheritance_testcase():
- arglist.append('--inherited')
- verifylist = [
- ('user', None),
- ('group', identity_fakes.group_name),
- ('domain', None),
- ('project', identity_fakes.project_name),
- ('role', identity_fakes.role_name),
- ('inherited', self._is_inheritance_testcase()),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- result = self.cmd.take_action(parsed_args)
-
- # Set expected values
- kwargs = {
- 'group': identity_fakes.group_id,
- 'project': identity_fakes.project_id,
- 'os_inherit_extension_inherited': self._is_inheritance_testcase(),
- }
- # RoleManager.revoke(role, user=, group=, domain=, project=)
- self.roles_mock.revoke.assert_called_with(
- identity_fakes.role_id,
- **kwargs
- )
- self.assertIsNone(result)
-
- def test_role_remove_domain_role_on_group_domain(self):
- self.roles_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ROLE_2),
- loaded=True,
- )
- arglist = [
- '--group', identity_fakes.group_name,
- '--domain', identity_fakes.domain_name,
- identity_fakes.ROLE_2['name'],
- ]
- if self._is_inheritance_testcase():
- arglist.append('--inherited')
- verifylist = [
- ('user', None),
- ('group', identity_fakes.group_name),
- ('domain', identity_fakes.domain_name),
- ('project', None),
- ('role', identity_fakes.ROLE_2['name']),
- ('inherited', self._is_inheritance_testcase()),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- result = self.cmd.take_action(parsed_args)
-
- # Set expected values
- kwargs = {
- 'group': identity_fakes.group_id,
- 'domain': identity_fakes.domain_id,
- 'os_inherit_extension_inherited': self._is_inheritance_testcase(),
- }
- # RoleManager.revoke(role, user=, group=, domain=, project=)
- self.roles_mock.revoke.assert_called_with(
- identity_fakes.ROLE_2['id'],
- **kwargs
- )
- self.assertIsNone(result)
-
-
-class TestRoleSet(TestRole):
-
- def setUp(self):
- super(TestRoleSet, self).setUp()
-
- self.roles_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ROLE),
- loaded=True,
- )
- self.roles_mock.update.return_value = None
-
- # Get the command object to test
- self.cmd = role.SetRole(self.app, None)
-
- def test_role_set_no_options(self):
- arglist = [
- '--name', 'over',
- identity_fakes.role_name,
- ]
- verifylist = [
- ('name', 'over'),
- ('role', identity_fakes.role_name),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- result = self.cmd.take_action(parsed_args)
-
- # Set expected values
- kwargs = {
- 'name': 'over',
- }
- # RoleManager.update(role, name=)
- self.roles_mock.update.assert_called_with(
- identity_fakes.role_id,
- **kwargs
- )
- self.assertIsNone(result)
-
- def test_role_set_domain_role(self):
- self.roles_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ROLE_2),
- loaded=True,
- )
- arglist = [
- '--name', 'over',
- '--domain', identity_fakes.domain_name,
- identity_fakes.ROLE_2['name'],
- ]
- verifylist = [
- ('name', 'over'),
- ('domain', identity_fakes.domain_name),
- ('role', identity_fakes.ROLE_2['name']),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- result = self.cmd.take_action(parsed_args)
-
- # Set expected values
- kwargs = {
- 'name': 'over',
- }
- # RoleManager.update(role, name=)
- self.roles_mock.update.assert_called_with(
- identity_fakes.ROLE_2['id'],
- **kwargs
- )
- self.assertIsNone(result)
-
-
-class TestRoleShow(TestRole):
-
- def setUp(self):
- super(TestRoleShow, self).setUp()
-
- self.roles_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ROLE),
- loaded=True,
- )
-
- # Get the command object to test
- self.cmd = role.ShowRole(self.app, None)
-
- def test_role_show(self):
- arglist = [
- identity_fakes.role_name,
- ]
- verifylist = [
- ('role', identity_fakes.role_name),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- # In base command class ShowOne in cliff, abstract method take_action()
- # returns a two-part tuple with a tuple of column names and a tuple of
- # data to be shown.
- columns, data = self.cmd.take_action(parsed_args)
-
- # RoleManager.get(role)
- self.roles_mock.get.assert_called_with(
- identity_fakes.role_name,
- )
-
- collist = ('domain', 'id', 'name')
- self.assertEqual(collist, columns)
- datalist = (
- None,
- identity_fakes.role_id,
- identity_fakes.role_name,
- )
- self.assertEqual(datalist, data)
-
- def test_role_show_domain_role(self):
- self.roles_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ROLE_2),
- loaded=True,
- )
- arglist = [
- '--domain', identity_fakes.domain_name,
- identity_fakes.ROLE_2['name'],
- ]
- verifylist = [
- ('domain', identity_fakes.domain_name),
- ('role', identity_fakes.ROLE_2['name']),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-
- # In base command class ShowOne in cliff, abstract method take_action()
- # returns a two-part tuple with a tuple of column names and a tuple of
- # data to be shown.
- columns, data = self.cmd.take_action(parsed_args)
-
- # RoleManager.get(role). This is called from utils.find_resource().
- # In fact, the current implementation calls the get(role) first with
- # just the name, then with the name+domain_id. So technically we should
- # mock this out with a call list, with the first call returning None
- # and the second returning the object. However, if we did that we are
- # then just testing the current sequencing within the utils method, and
- # would become brittle to changes within that method. Hence we just
- # check for the first call which is always lookup by name.
- self.roles_mock.get.assert_called_with(
- identity_fakes.ROLE_2['name'],
- )
-
- collist = ('domain', 'id', 'name')
- self.assertEqual(collist, columns)
- datalist = (
- identity_fakes.domain_id,
- identity_fakes.ROLE_2['id'],
- identity_fakes.ROLE_2['name'],
- )
- self.assertEqual(datalist, data)