Keystoneclient create user API should have optional password.

Password is optional in Keystone service. The create user API
in keystoneclient should have password None as default value.

Change-Id: Ic72867c9b86ca65e3237786e35bcb5bd44f5f053
Closes-Bug: #1273988
This commit is contained in:
Juan Manuel Olle
2014-06-03 15:58:02 -03:00
parent 832d89681c
commit e4b7daf71a
2 changed files with 35 additions and 1 deletions

View File

@@ -116,6 +116,39 @@ class UserTests(utils.TestCase):
self.assertEqual(user.name, "gabriel")
self.assertRequestBodyIs(json=req_body)
@httpretty.activate
def test_create_user_without_password(self):
user_name = 'test'
user_id = uuid.uuid4().hex
tenant_id = uuid.uuid4().hex
user_enabled = True
req_body = {
'user': {
'name': user_name,
'password': None,
'tenantId': tenant_id,
'enabled': user_enabled,
'email': None,
}
}
resp_body = {
'user': {
'name': user_name,
'enabled': user_enabled,
'tenantId': tenant_id,
'id': user_id,
}
}
self.stub_url(httpretty.POST, ['users'], json=resp_body)
user = self.client.users.create(user_name, tenant_id=tenant_id,
enabled=user_enabled)
self.assertIsInstance(user, users.User)
self.assertEqual(user_id, user.id)
self.assertEqual(user_name, user.name)
self.assertRequestBodyIs(json=req_body)
@httpretty.activate
def test_delete(self):
self.stub_url(httpretty.DELETE, ['users', self.ADMIN_USER_ID],

View File

@@ -86,7 +86,8 @@ class UserManager(base.ManagerWithFind):
return self._update("/users/%s/OS-KSADM/tenant" % base.getid(user),
params, "user")
def create(self, name, password, email=None, tenant_id=None, enabled=True):
def create(self, name, password=None, email=None,
tenant_id=None, enabled=True):
"""Create a user."""
params = {"user": {"name": name,
"password": password,