Merge "Shadowing a nonlocal_user incorrectly creates a local_user"
This commit is contained in:
commit
a445165815
@ -90,6 +90,12 @@ class ShadowUsers(base.ShadowUsersDriverV10):
|
||||
@sql.handle_conflicts(conflict_type='nonlocal_user')
|
||||
def create_nonlocal_user(self, user_dict):
|
||||
new_user_dict = copy.deepcopy(user_dict)
|
||||
# remove local_user attributes from new_user_dict
|
||||
keys_to_delete = ['domain_id', 'name', 'password']
|
||||
for key in keys_to_delete:
|
||||
if key in new_user_dict:
|
||||
del new_user_dict[key]
|
||||
# create nonlocal_user dict
|
||||
new_nonlocal_user_dict = {
|
||||
'domain_id': user_dict['domain_id'],
|
||||
'name': user_dict['name']
|
||||
|
@ -1345,6 +1345,12 @@ class ShadowUsersTests(object):
|
||||
self.shadow_users_api.create_nonlocal_user,
|
||||
new_user)
|
||||
|
||||
def test_create_nonlocal_user_does_not_create_local_user(self):
|
||||
user = unit.new_user_ref(domain_id=CONF.identity.default_domain_id)
|
||||
new_nonlocal_user = self.shadow_users_api.create_nonlocal_user(user)
|
||||
user_ref = self._get_user_ref(new_nonlocal_user['id'])
|
||||
self.assertIsNone(user_ref.local_user)
|
||||
|
||||
def test_get_user(self):
|
||||
user = unit.new_user_ref(domain_id=CONF.identity.default_domain_id)
|
||||
user.pop('email')
|
||||
|
Loading…
x
Reference in New Issue
Block a user