Merge "keystoneclient requires an email address when creating a user"

This commit is contained in:
Jenkins
2013-12-03 01:20:48 +00:00
committed by Gerrit Code Review
2 changed files with 35 additions and 2 deletions

View File

@@ -76,6 +76,40 @@ class UserTests(utils.TestCase):
self.assertEqual(user.email, "test@example.com")
self.assertRequestBodyIs(json=req_body)
@httpretty.activate
def test_create_user_without_email(self):
req_body = {
"user": {
"name": "gabriel",
"password": "test",
"tenantId": 2,
"enabled": True,
"email": None,
}
}
resp_body = {
"user": {
"name": "gabriel",
"enabled": True,
"tenantId": 2,
"id": 3,
"password": "test",
}
}
self.stub_url(httpretty.POST, ['users'], json=resp_body)
user = self.client.users.create(
req_body['user']['name'],
req_body['user']['password'],
tenant_id=req_body['user']['tenantId'],
enabled=req_body['user']['enabled'])
self.assertTrue(isinstance(user, users.User))
self.assertEqual(user.id, 3)
self.assertEqual(user.name, "gabriel")
self.assertRequestBodyIs(json=req_body)
@httpretty.activate
def test_delete(self):
self.stub_url(httpretty.DELETE, ['users', '1'], status=204)

View File

@@ -86,9 +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, tenant_id=None, enabled=True):
def create(self, name, password, email=None, tenant_id=None, enabled=True):
"""Create a user."""
# FIXME(ja): email should be optional, keystone currently requires it
params = {"user": {"name": name,
"password": password,
"tenantId": tenant_id,