Allow early host % on validate
On users validation, if host is not specified it doesn't get's default value. Change-Id: I489b99b393362f2587efbf03417c8623cbbdde3b
This commit is contained in:
parent
0805d0a008
commit
e88dc0381e
@ -50,7 +50,7 @@ def populate_users(users, initial_databases=None):
|
||||
for user in users:
|
||||
u = guest_models.MySQLUser()
|
||||
u.name = user.get('name', '')
|
||||
u.host = user.get('host')
|
||||
u.host = user.get('host', '%')
|
||||
user_identity = (u.name, u.host)
|
||||
if user_identity in unique_identities:
|
||||
raise exception.DatabaseInitialUserDuplicateError()
|
||||
|
@ -82,8 +82,6 @@ class User(object):
|
||||
for user in users:
|
||||
user_name = user['_name']
|
||||
host_name = user['_host']
|
||||
if host_name is None:
|
||||
host_name = '%'
|
||||
userhost = "%s@%s" % (user_name, host_name)
|
||||
existing_users, _nadda = Users.load_with_client(
|
||||
client,
|
||||
|
@ -149,7 +149,7 @@ class TestUserController(TestCase):
|
||||
|
||||
def test_validate_update_user_complete(self):
|
||||
body = {"users": [{"name": "joe", "password": "",
|
||||
"databases": [{"name": "testdb"}]}]}
|
||||
"databases": [{"name": "testdb"}]}]}
|
||||
schema = self.controller.get_schema('update_all', body)
|
||||
validator = jsonschema.Draft4Validator(schema)
|
||||
self.assertFalse(validator.is_valid(body))
|
||||
@ -162,7 +162,7 @@ class TestUserController(TestCase):
|
||||
|
||||
def test_validate_update_user_with_db_short_password(self):
|
||||
body = {"users": [{"name": "joe", "password": "",
|
||||
"databases": [{"name": "testdb"}]}]}
|
||||
"databases": [{"name": "testdb"}]}]}
|
||||
schema = self.controller.get_schema('update_all', body)
|
||||
validator = jsonschema.Draft4Validator(schema)
|
||||
self.assertFalse(validator.is_valid(body))
|
||||
@ -228,6 +228,37 @@ class TestUserController(TestCase):
|
||||
validator = jsonschema.Draft4Validator(schema)
|
||||
self.assertFalse(validator.is_valid(body))
|
||||
|
||||
def test_validate_host_in_user_attributes(self):
|
||||
body_empty_host = {'user': {
|
||||
'name': 'test',
|
||||
'password': 'test',
|
||||
'host': '%'
|
||||
}}
|
||||
body_with_host = {'user': {
|
||||
'name': 'test',
|
||||
'password': 'test',
|
||||
'host': '1.1.1.1'
|
||||
}}
|
||||
body_none_host = {'user': {
|
||||
'name': 'test',
|
||||
'password': 'test',
|
||||
'host': ""
|
||||
}}
|
||||
|
||||
schema_empty_host = self.controller.get_schema('update',
|
||||
body_empty_host)
|
||||
schema_with_host = self.controller.get_schema('update',
|
||||
body_with_host)
|
||||
schema_none_host = self.controller.get_schema('update', body_none_host)
|
||||
|
||||
validator_empty_host = jsonschema.Draft4Validator(schema_empty_host)
|
||||
validator_with_host = jsonschema.Draft4Validator(schema_with_host)
|
||||
validator_none_host = jsonschema.Draft4Validator(schema_none_host)
|
||||
|
||||
self.assertTrue(validator_empty_host.is_valid(body_empty_host))
|
||||
self.assertTrue(validator_with_host.is_valid(body_with_host))
|
||||
self.assertFalse(validator_none_host.is_valid(body_none_host))
|
||||
|
||||
|
||||
class TestUserAccessController(TestCase):
|
||||
def test_validate_update_db(self):
|
||||
|
Loading…
Reference in New Issue
Block a user