summaryrefslogtreecommitdiff
path: root/openstackclient/identity/v3/user.py
diff options
context:
space:
mode:
authorDean Troyer <dtroyer@gmail.com>2013-09-09 14:55:07 -0500
committerDean Troyer <dtroyer@gmail.com>2013-09-09 14:58:28 -0500
commit8898e020fb874871e4d120e686abac0a94afd392 (patch)
tree96ca294fa56a9e086299aa3281feb453eb72e4fe /openstackclient/identity/v3/user.py
parent7a0a7d67ed639cf664f02e1148c7b4a9348f4672 (diff)
downloadpython-openstackclient-8898e020fb874871e4d120e686abac0a94afd392.tar.gz
Identity v3 tests
* Add project, user, role and service v3 tests * Fix issues in commands with enable/disable * Make commands and tests more consistent between versions * Make formatting and comments more consistent Change-Id: Id21e7a5abd7e421a7742f937861ec46b53095fc7
Diffstat (limited to 'openstackclient/identity/v3/user.py')
-rw-r--r--openstackclient/identity/v3/user.py86
1 files changed, 54 insertions, 32 deletions
diff --git a/openstackclient/identity/v3/user.py b/openstackclient/identity/v3/user.py
index b90527a3..54ffe561 100644
--- a/openstackclient/identity/v3/user.py
+++ b/openstackclient/identity/v3/user.py
@@ -27,7 +27,7 @@ from openstackclient.common import utils
class CreateUser(show.ShowOne):
- """Create user command"""
+ """Create new user"""
log = logging.getLogger(__name__ + '.CreateUser')
@@ -51,7 +51,7 @@ class CreateUser(show.ShowOne):
parser.add_argument(
'--project',
metavar='<project>',
- help='New default project name or ID',
+ help='Set default project (name or ID)',
)
parser.add_argument(
'--domain',
@@ -66,15 +66,12 @@ class CreateUser(show.ShowOne):
enable_group = parser.add_mutually_exclusive_group()
enable_group.add_argument(
'--enable',
- dest='enabled',
action='store_true',
- default=True,
- help='Enable user',
+ help='Enable user (default)',
)
enable_group.add_argument(
'--disable',
- dest='enabled',
- action='store_false',
+ action='store_true',
help='Disable user',
)
return parser
@@ -85,7 +82,9 @@ class CreateUser(show.ShowOne):
if parsed_args.project:
project_id = utils.find_resource(
- identity_client.projects, parsed_args.project).id
+ identity_client.projects,
+ parsed_args.project,
+ ).id
else:
project_id = None
@@ -95,14 +94,18 @@ class CreateUser(show.ShowOne):
else:
domain_id = None
+ enabled = True
+ if parsed_args.disable:
+ enabled = False
+
user = identity_client.users.create(
parsed_args.name,
- domain_id,
- project_id,
- parsed_args.password,
- parsed_args.email,
- parsed_args.description,
- parsed_args.enabled
+ domain=domain_id,
+ default_project=project_id,
+ password=parsed_args.password,
+ email=parsed_args.email,
+ description=parsed_args.description,
+ enabled=enabled
)
info = {}
@@ -111,7 +114,7 @@ class CreateUser(show.ShowOne):
class DeleteUser(command.Command):
- """Delete user command"""
+ """Delete user"""
log = logging.getLogger(__name__ + '.DeleteUser')
@@ -120,15 +123,19 @@ class DeleteUser(command.Command):
parser.add_argument(
'user',
metavar='<user>',
- help='Name or ID of user to delete',
+ help='User to delete (name or ID)',
)
return parser
def take_action(self, parsed_args):
self.log.debug('take_action(%s)' % parsed_args)
identity_client = self.app.client_manager.identity
+
user = utils.find_resource(
- identity_client.users, parsed_args.user)
+ identity_client.users,
+ parsed_args.user,
+ )
+
identity_client.users.delete(user.id)
return
@@ -245,7 +252,7 @@ class ListUser(lister.Lister):
class SetUser(command.Command):
- """Set user command"""
+ """Set user properties"""
log = logging.getLogger(__name__ + '.SetUser')
@@ -254,7 +261,7 @@ class SetUser(command.Command):
parser.add_argument(
'user',
metavar='<user>',
- help='Name or ID of user to change',
+ help='User to change (name or ID)',
)
parser.add_argument(
'--name',
@@ -289,15 +296,12 @@ class SetUser(command.Command):
enable_group = parser.add_mutually_exclusive_group()
enable_group.add_argument(
'--enable',
- dest='enabled',
action='store_true',
- default=True,
help='Enable user (default)',
)
enable_group.add_argument(
'--disable',
- dest='enabled',
- action='store_false',
+ action='store_true',
help='Disable user',
)
return parser
@@ -305,8 +309,23 @@ class SetUser(command.Command):
def take_action(self, parsed_args):
self.log.debug('take_action(%s)' % parsed_args)
identity_client = self.app.client_manager.identity
+
+ if (not parsed_args.name
+ 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
+ and not parsed_args.disable):
+ return
+
user = utils.find_resource(
- identity_client.users, parsed_args.user)
+ identity_client.users,
+ parsed_args.user,
+ )
+
kwargs = {}
if parsed_args.name:
kwargs['name'] = parsed_args.name
@@ -324,18 +343,18 @@ class SetUser(command.Command):
domain_id = utils.find_resource(
identity_client.domains, parsed_args.domain).id
kwargs['domainId'] = domain_id
- if 'enabled' in parsed_args:
- kwargs['enabled'] = parsed_args.enabled
+ kwargs['enabled'] = user.enabled
+ if parsed_args.enable:
+ kwargs['enabled'] = True
+ if parsed_args.disable:
+ kwargs['enabled'] = False
- if not len(kwargs):
- sys.stderr.write("User not updated, no arguments present")
- return
identity_client.users.update(user.id, **kwargs)
return
class ShowUser(show.ShowOne):
- """Show user command"""
+ """Show user details"""
log = logging.getLogger(__name__ + '.ShowUser')
@@ -344,15 +363,18 @@ class ShowUser(show.ShowOne):
parser.add_argument(
'user',
metavar='<user>',
- help='Name or ID of user to display',
+ help='User to display (name or ID)',
)
return parser
def take_action(self, parsed_args):
self.log.debug('take_action(%s)' % parsed_args)
identity_client = self.app.client_manager.identity
+
user = utils.find_resource(
- identity_client.users, parsed_args.user)
+ identity_client.users,
+ parsed_args.user,
+ )
info = {}
info.update(user._info)