Allow grant_role to select users outside default domain
Task: 5853 Story: 2001302 Changeset works for me. Unit tests have mended. I should still try to write up some functional test. Change-Id: I7dfb45e5c6c4f7a7318ae6705269dd9d3e6100b2
This commit is contained in:
parent
395d927081
commit
d4148ff9d6
|
@ -1789,7 +1789,11 @@ class OperatorCloud(openstackcloud.OpenStackCloud):
|
|||
self.get_domain(domain)['id']
|
||||
|
||||
if user:
|
||||
data['user'] = self.get_user(user, filters=filters)
|
||||
if 'domain' in data:
|
||||
data['user'] = self.get_user(
|
||||
user, filters=filters, domain_id=data['domain'])
|
||||
else:
|
||||
data['user'] = self.get_user(user, filters=filters)
|
||||
|
||||
if project:
|
||||
# drop domain in favor of project
|
||||
|
|
|
@ -436,6 +436,7 @@ class TestRoleAssignment(base.RequestsMockTestCase):
|
|||
self.assert_calls()
|
||||
|
||||
def test_grant_role_user_project_exists(self):
|
||||
self.assertEqual(len(self.calls), 2)
|
||||
self.register_uris([
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(resource='roles'),
|
||||
|
@ -496,6 +497,7 @@ class TestRoleAssignment(base.RequestsMockTestCase):
|
|||
entity_type='user',
|
||||
entity_id=self.user_data.user_id)}),
|
||||
])
|
||||
self.assertEqual(len(self.calls), 10)
|
||||
self.assertFalse(self.op_cloud.grant_role(
|
||||
self.role_data.role_name,
|
||||
user=self.user_data.name,
|
||||
|
@ -662,7 +664,10 @@ class TestRoleAssignment(base.RequestsMockTestCase):
|
|||
status_code=200,
|
||||
json=self.domain_data.json_response),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(resource='users'),
|
||||
uri=self.get_mock_url(
|
||||
resource='users',
|
||||
qs_elements=[
|
||||
'domain_id=%s' % self.domain_data.domain_id]),
|
||||
status_code=200,
|
||||
json={'users': [self.user_data.json_response['user']]}),
|
||||
dict(method='GET',
|
||||
|
@ -688,12 +693,16 @@ class TestRoleAssignment(base.RequestsMockTestCase):
|
|||
status_code=200,
|
||||
json={'roles': [self.role_data.json_response['role']]}),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(resource='domains',
|
||||
append=[self.domain_data.domain_id]),
|
||||
uri=self.get_mock_url(
|
||||
resource='domains',
|
||||
append=[self.domain_data.domain_id]),
|
||||
status_code=200,
|
||||
json=self.domain_data.json_response),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(resource='users'),
|
||||
uri=self.get_mock_url(
|
||||
resource='users',
|
||||
qs_elements=[
|
||||
'domain_id=%s' % self.domain_data.domain_id]),
|
||||
status_code=200,
|
||||
json={'users': [self.user_data.json_response['user']]}),
|
||||
dict(method='GET',
|
||||
|
@ -724,7 +733,10 @@ class TestRoleAssignment(base.RequestsMockTestCase):
|
|||
status_code=200,
|
||||
json=self.domain_data.json_response),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(resource='users'),
|
||||
uri=self.get_mock_url(
|
||||
resource='users',
|
||||
qs_elements=[
|
||||
'domain_id=%s' % self.domain_data.domain_id]),
|
||||
status_code=200,
|
||||
json={'users': [self.user_data.json_response['user']]}),
|
||||
dict(method='GET',
|
||||
|
@ -755,7 +767,10 @@ class TestRoleAssignment(base.RequestsMockTestCase):
|
|||
status_code=200,
|
||||
json=self.domain_data.json_response),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(resource='users'),
|
||||
uri=self.get_mock_url(
|
||||
resource='users',
|
||||
qs_elements=[
|
||||
'domain_id=%s' % self.domain_data.domain_id]),
|
||||
status_code=200,
|
||||
json={'users': [self.user_data.json_response['user']]}),
|
||||
dict(method='GET',
|
||||
|
@ -807,7 +822,10 @@ class TestRoleAssignment(base.RequestsMockTestCase):
|
|||
status_code=200,
|
||||
json=self.domain_data.json_response),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(resource='users'),
|
||||
uri=self.get_mock_url(
|
||||
resource='users',
|
||||
qs_elements=[
|
||||
'domain_id=%s' % self.domain_data.domain_id]),
|
||||
status_code=200,
|
||||
json={'users': [self.user_data.json_response['user']]}),
|
||||
dict(method='GET',
|
||||
|
@ -836,7 +854,10 @@ class TestRoleAssignment(base.RequestsMockTestCase):
|
|||
status_code=200,
|
||||
json=self.domain_data.json_response),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(resource='users'),
|
||||
uri=self.get_mock_url(
|
||||
resource='users',
|
||||
qs_elements=[
|
||||
'domain_id=%s' % self.domain_data.domain_id]),
|
||||
status_code=200,
|
||||
json={'users': [self.user_data.json_response['user']]}),
|
||||
dict(method='GET',
|
||||
|
@ -865,7 +886,10 @@ class TestRoleAssignment(base.RequestsMockTestCase):
|
|||
status_code=200,
|
||||
json=self.domain_data.json_response),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(resource='users'),
|
||||
uri=self.get_mock_url(
|
||||
resource='users',
|
||||
qs_elements=[
|
||||
'domain_id=%s' % self.domain_data.domain_id]),
|
||||
status_code=200,
|
||||
json={'users': [self.user_data.json_response['user']]}),
|
||||
dict(method='GET',
|
||||
|
@ -894,7 +918,10 @@ class TestRoleAssignment(base.RequestsMockTestCase):
|
|||
status_code=200,
|
||||
json=self.domain_data.json_response),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(resource='users'),
|
||||
uri=self.get_mock_url(
|
||||
resource='users',
|
||||
qs_elements=[
|
||||
'domain_id=%s' % self.domain_data.domain_id]),
|
||||
status_code=200,
|
||||
json={'users': [self.user_data.json_response['user']]}),
|
||||
dict(method='GET',
|
||||
|
@ -1768,7 +1795,10 @@ class TestRoleAssignment(base.RequestsMockTestCase):
|
|||
status_code=200,
|
||||
json=self.domain_data.json_response),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(resource='users'),
|
||||
uri=self.get_mock_url(
|
||||
resource='users',
|
||||
qs_elements=[
|
||||
'domain_id=%s' % self.domain_data.domain_id]),
|
||||
status_code=200,
|
||||
json={'users': [self.user_data.json_response['user']]}),
|
||||
dict(method='GET',
|
||||
|
@ -1791,7 +1821,10 @@ class TestRoleAssignment(base.RequestsMockTestCase):
|
|||
status_code=200,
|
||||
json=self.domain_data.json_response),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(resource='users'),
|
||||
uri=self.get_mock_url(
|
||||
resource='users',
|
||||
qs_elements=[
|
||||
'domain_id=%s' % self.domain_data.domain_id]),
|
||||
status_code=200,
|
||||
json={'users': [self.user_data.json_response['user']]}),
|
||||
dict(method='GET',
|
||||
|
@ -1814,7 +1847,10 @@ class TestRoleAssignment(base.RequestsMockTestCase):
|
|||
status_code=200,
|
||||
json=self.domain_data.json_response),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(resource='users'),
|
||||
uri=self.get_mock_url(
|
||||
resource='users',
|
||||
qs_elements=[
|
||||
'domain_id=%s' % self.domain_data.domain_id]),
|
||||
status_code=200,
|
||||
json={'users': [self.user_data.json_response['user']]}),
|
||||
dict(method='GET',
|
||||
|
@ -1837,7 +1873,10 @@ class TestRoleAssignment(base.RequestsMockTestCase):
|
|||
status_code=200,
|
||||
json=self.domain_data.json_response),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(resource='users'),
|
||||
uri=self.get_mock_url(
|
||||
resource='users',
|
||||
qs_elements=[
|
||||
'domain_id=%s' % self.domain_data.domain_id]),
|
||||
status_code=200,
|
||||
json={'users': [self.user_data.json_response['user']]}),
|
||||
dict(method='GET',
|
||||
|
@ -1881,7 +1920,10 @@ class TestRoleAssignment(base.RequestsMockTestCase):
|
|||
status_code=200,
|
||||
json=self.domain_data.json_response),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(resource='users'),
|
||||
uri=self.get_mock_url(
|
||||
resource='users',
|
||||
qs_elements=[
|
||||
'domain_id=%s' % self.domain_data.domain_id]),
|
||||
status_code=200,
|
||||
json={'users': [self.user_data.json_response['user']]}),
|
||||
dict(method='GET',
|
||||
|
@ -1917,7 +1959,10 @@ class TestRoleAssignment(base.RequestsMockTestCase):
|
|||
status_code=200,
|
||||
json=self.domain_data.json_response),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(resource='users'),
|
||||
uri=self.get_mock_url(
|
||||
resource='users',
|
||||
qs_elements=[
|
||||
'domain_id=%s' % self.domain_data.domain_id]),
|
||||
status_code=200,
|
||||
json={'users': [self.user_data.json_response['user']]}),
|
||||
dict(method='GET',
|
||||
|
@ -1953,7 +1998,10 @@ class TestRoleAssignment(base.RequestsMockTestCase):
|
|||
status_code=200,
|
||||
json=self.domain_data.json_response),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(resource='users'),
|
||||
uri=self.get_mock_url(
|
||||
resource='users',
|
||||
qs_elements=[
|
||||
'domain_id=%s' % self.domain_data.domain_id]),
|
||||
status_code=200,
|
||||
json={'users': [self.user_data.json_response['user']]}),
|
||||
dict(method='GET',
|
||||
|
@ -1989,7 +2037,10 @@ class TestRoleAssignment(base.RequestsMockTestCase):
|
|||
status_code=200,
|
||||
json=self.domain_data.json_response),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(resource='users'),
|
||||
uri=self.get_mock_url(
|
||||
resource='users',
|
||||
qs_elements=[
|
||||
'domain_id=%s' % self.domain_data.domain_id]),
|
||||
status_code=200,
|
||||
json={'users': [self.user_data.json_response['user']]}),
|
||||
dict(method='GET',
|
||||
|
@ -2478,7 +2529,10 @@ class TestRoleAssignment(base.RequestsMockTestCase):
|
|||
status_code=200,
|
||||
json=self.domain_data.json_response),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(resource='users'),
|
||||
uri=self.get_mock_url(
|
||||
resource='users',
|
||||
qs_elements=[
|
||||
'domain_id=%s' % self.domain_data.domain_id]),
|
||||
status_code=200,
|
||||
json={'users': [self.user_data.json_response['user']]}),
|
||||
dict(method='GET',
|
||||
|
@ -2527,7 +2581,10 @@ class TestRoleAssignment(base.RequestsMockTestCase):
|
|||
status_code=200,
|
||||
json=self.domain_data.json_response),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(resource='users'),
|
||||
uri=self.get_mock_url(
|
||||
resource='users',
|
||||
qs_elements=[
|
||||
'domain_id=%s' % self.domain_data.domain_id]),
|
||||
status_code=200,
|
||||
json={'users': [self.user_data.json_response['user']]}),
|
||||
dict(method='GET',
|
||||
|
|
Loading…
Reference in New Issue