diff options
| author | Steve Martinelli <stevemar@ca.ibm.com> | 2015-02-08 23:52:56 -0500 |
|---|---|---|
| committer | Steve Martinelli <stevemar@ca.ibm.com> | 2015-02-09 15:19:11 +0000 |
| commit | 07c4fa9d4bde6f3d0a38bc4d7eb3df275e0b89cc (patch) | |
| tree | c918dbee932fc7eda17714942ee9a4fd890a2ad1 | |
| parent | dca99782052da052aebea653bfbfc3dfc9a96a0e (diff) | |
| download | python-openstackclient-07c4fa9d4bde6f3d0a38bc4d7eb3df275e0b89cc.tar.gz | |
Restrict groups and users from changing domains
Similar to projects, we shouldn't allow users and groups to
change domains. The server side tosses up an error but osc
should restrict that behaviour in the first place.
Related-Bug: #1418384
Change-Id: I860291a5859c576021b18e35d1a12c32abfb6ca5
| -rw-r--r-- | doc/source/command-objects/group.rst | 5 | ||||
| -rw-r--r-- | doc/source/command-objects/user.rst | 7 | ||||
| -rw-r--r-- | openstackclient/identity/v3/group.py | 8 | ||||
| -rw-r--r-- | openstackclient/identity/v3/user.py | 9 | ||||
| -rw-r--r-- | openstackclient/tests/identity/v3/test_user.py | 46 |
5 files changed, 1 insertions, 74 deletions
diff --git a/doc/source/command-objects/group.rst b/doc/source/command-objects/group.rst index 3e7e806f..6c385058 100644 --- a/doc/source/command-objects/group.rst +++ b/doc/source/command-objects/group.rst @@ -151,7 +151,6 @@ Set group properties os group set [--name <name>] - [--domain <domain>] [--description <description>] <group> @@ -159,10 +158,6 @@ Set group properties New group name -.. option:: --domain <domain> - - New domain to contain <group> (name or ID) - .. option:: --description <description> New group description diff --git a/doc/source/command-objects/user.rst b/doc/source/command-objects/user.rst index 9c81a403..79807b23 100644 --- a/doc/source/command-objects/user.rst +++ b/doc/source/command-objects/user.rst @@ -136,7 +136,6 @@ Set user properties os user set [--name <name>] - [--domain <domain>] [--project <project>] [--password <password>] [--email <email-address>] @@ -148,12 +147,6 @@ Set user properties Set user name -.. option:: --domain <domain> - - Set default domain (name or ID) - - .. versionadded:: 3 - .. option:: --project <project> Set default project (name or ID) diff --git a/openstackclient/identity/v3/group.py b/openstackclient/identity/v3/group.py index 94e101f3..a2afecb9 100644 --- a/openstackclient/identity/v3/group.py +++ b/openstackclient/identity/v3/group.py @@ -315,10 +315,6 @@ class SetGroup(command.Command): metavar='<name>', help='New group name') parser.add_argument( - '--domain', - metavar='<domain>', - help='New domain to contain <group> (name or ID)') - parser.add_argument( '--description', metavar='<description>', help='New group description') @@ -333,9 +329,7 @@ class SetGroup(command.Command): kwargs['name'] = parsed_args.name if parsed_args.description: kwargs['description'] = parsed_args.description - if parsed_args.domain: - kwargs['domain'] = common.find_domain(identity_client, - parsed_args.domain).id + if not len(kwargs): sys.stderr.write("Group not updated, no arguments present") return diff --git a/openstackclient/identity/v3/user.py b/openstackclient/identity/v3/user.py index 7b847eed..0a154f64 100644 --- a/openstackclient/identity/v3/user.py +++ b/openstackclient/identity/v3/user.py @@ -300,11 +300,6 @@ class SetUser(command.Command): help='Set user name', ) parser.add_argument( - '--domain', - metavar='<domain>', - help='Set default domain (name or ID)', - ) - parser.add_argument( '--project', metavar='<project>', help='Set default project (name or ID)', @@ -354,7 +349,6 @@ class SetUser(command.Command): and not parsed_args.name and not parsed_args.password and not parsed_args.email - and not parsed_args.domain and not parsed_args.project and not parsed_args.description and not parsed_args.enable @@ -379,9 +373,6 @@ class SetUser(command.Command): project_id = utils.find_resource( identity_client.projects, parsed_args.project).id kwargs['project'] = project_id - if parsed_args.domain: - kwargs['domain'] = common.find_domain(identity_client, - parsed_args.domain).id kwargs['enabled'] = user.enabled if parsed_args.enable: kwargs['enabled'] = True diff --git a/openstackclient/tests/identity/v3/test_user.py b/openstackclient/tests/identity/v3/test_user.py index 8d0b6d31..ab6e6bce 100644 --- a/openstackclient/tests/identity/v3/test_user.py +++ b/openstackclient/tests/identity/v3/test_user.py @@ -696,12 +696,6 @@ class TestUserSet(TestUser): def setUp(self): super(TestUserSet, 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), @@ -730,7 +724,6 @@ class TestUserSet(TestUser): ('name', None), ('password', None), ('email', None), - ('domain', None), ('project', None), ('enable', False), ('disable', False), @@ -750,7 +743,6 @@ class TestUserSet(TestUser): ('name', 'qwerty'), ('password', None), ('email', None), - ('domain', None), ('project', None), ('enable', False), ('disable', False), @@ -783,7 +775,6 @@ class TestUserSet(TestUser): ('password', 'secret'), ('password_prompt', False), ('email', None), - ('domain', None), ('project', None), ('enable', False), ('disable', False), @@ -816,7 +807,6 @@ class TestUserSet(TestUser): ('password', None), ('password_prompt', True), ('email', None), - ('domain', None), ('project', None), ('enable', False), ('disable', False), @@ -851,7 +841,6 @@ class TestUserSet(TestUser): ('name', None), ('password', None), ('email', 'barney@example.com'), - ('domain', None), ('project', None), ('enable', False), ('disable', False), @@ -874,38 +863,6 @@ class TestUserSet(TestUser): **kwargs ) - def test_user_set_domain(self): - arglist = [ - '--domain', identity_fakes.domain_id, - identity_fakes.user_name, - ] - verifylist = [ - ('name', None), - ('password', None), - ('email', None), - ('domain', identity_fakes.domain_id), - ('project', None), - ('enable', False), - ('disable', False), - ('user', identity_fakes.user_name), - ] - parsed_args = self.check_parser(self.cmd, arglist, verifylist) - - # DisplayCommandBase.take_action() returns two tuples - self.cmd.take_action(parsed_args) - - # Set expected values - kwargs = { - 'enabled': True, - 'domain': identity_fakes.domain_id, - } - # UserManager.update(user, name=, domain=, project=, password=, - # email=, description=, enabled=, default_project=) - self.users_mock.update.assert_called_with( - identity_fakes.user_id, - **kwargs - ) - def test_user_set_project(self): arglist = [ '--project', identity_fakes.project_id, @@ -915,7 +872,6 @@ class TestUserSet(TestUser): ('name', None), ('password', None), ('email', None), - ('domain', None), ('project', identity_fakes.project_id), ('enable', False), ('disable', False), @@ -947,7 +903,6 @@ class TestUserSet(TestUser): ('name', None), ('password', None), ('email', None), - ('domain', None), ('project', None), ('enable', True), ('disable', False), @@ -978,7 +933,6 @@ class TestUserSet(TestUser): ('name', None), ('password', None), ('email', None), - ('domain', None), ('project', None), ('enable', False), ('disable', True), |
