Fix project domain problem in v3 token client
The project domain (name or ID) is omitted in auth requests when the project ID is specified. This change fixes the issue. Change-Id: I3d970acd9b5c61ee3436689f940a5e92b10ae299 Closes-Bug: #1542655
This commit is contained in:
parent
1abd727c11
commit
6ddbb9e70d
@ -57,6 +57,44 @@ class TestTokenClientV2(base.TestCase):
|
||||
post_mock.mock.assert_called_once_with('fake_url/auth/tokens',
|
||||
body=req_dict)
|
||||
|
||||
def test_auth_with_project_id_and_domain_id(self):
|
||||
token_client_v3 = token_client.V3TokenClient('fake_url')
|
||||
post_mock = self.useFixture(mockpatch.PatchObject(
|
||||
token_client_v3, 'post', return_value=self.fake_201_http.request(
|
||||
'fake_url', body={'access': {'token': 'fake_token'}})))
|
||||
resp = token_client_v3.auth(
|
||||
username='fake_user', password='fake_pass',
|
||||
project_id='fcac2a055a294e4c82d0a9c21c620eb4',
|
||||
user_domain_id='14f4a9a99973404d8c20ba1d2af163ff',
|
||||
project_domain_id='291f63ae9ac54ee292ca09e5f72d9676')
|
||||
self.assertIsInstance(resp, rest_client.ResponseBody)
|
||||
req_dict = json.dumps({
|
||||
'auth': {
|
||||
'identity': {
|
||||
'methods': ['password'],
|
||||
'password': {
|
||||
'user': {
|
||||
'name': 'fake_user',
|
||||
'password': 'fake_pass',
|
||||
'domain': {
|
||||
'id': '14f4a9a99973404d8c20ba1d2af163ff'
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
'scope': {
|
||||
'project': {
|
||||
'id': 'fcac2a055a294e4c82d0a9c21c620eb4',
|
||||
'domain': {
|
||||
'id': '291f63ae9ac54ee292ca09e5f72d9676'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}, sort_keys=True)
|
||||
post_mock.mock.assert_called_once_with('fake_url/auth/tokens',
|
||||
body=req_dict)
|
||||
|
||||
def test_auth_with_tenant(self):
|
||||
token_client_v2 = token_client.V3TokenClient('fake_url')
|
||||
post_mock = self.useFixture(mockpatch.PatchObject(
|
||||
|
Loading…
x
Reference in New Issue
Block a user