Merge "keystoneclient requires an email address when creating a user"
This commit is contained in:
@@ -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)
|
||||
|
@@ -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,
|
||||
|
Reference in New Issue
Block a user