summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTin Lam <tin@irrational.io>2017-09-15 13:25:46 -0500
committerTin Lam <tin@irrational.io>2017-09-25 10:01:04 -0500
commit04735348de7e81e8190849fd676b04377a2a4e8c (patch)
tree829aad87530fc41242a2741131952064639b7c5c
parentcd598a4f839bdd58722240f6a30b992af2ebbe69 (diff)
downloadkeystonemiddleware-04735348de7e81e8190849fd676b04377a2a4e8c.tar.gz
Fix gate error caused by mocked URLs
In keystoneauth a workaround was implemented for when the discovery document has an invalid scheme and host for its URLs[1]. This broke keystonemiddleware's tests, revealing that keystonemiddleware was, in one case, validating the wrong URL, and in another mocking the wrong one. This patch updates the tests so that they are more accurately representing how keystoneauth works. Why should we change it here instead of reverting the keystoneauth change? The URLs in the discovery document aren't validated in real life, so the only URLs that can be trusted are the ones the user has accessed, such as the auth URL. Keystoneauth is right to fix the URLs, and the bad mocks in keystonemiddleware are only evidence that the tests were wrong, not that the mocked URLs would have worked in real life. [1] https://review.openstack.org/#/c/494194 Closes-Bug: Closes-bug: #1718945 Co-Authored-By: Colleen Murphy <colleen@gazlene.net> Change-Id: I94d6dd1839bd1f662e70c5fb739695685e839a82
-rw-r--r--keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py4
-rw-r--r--keystonemiddleware/tests/unit/client_fixtures.py2
2 files changed, 3 insertions, 3 deletions
diff --git a/keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py b/keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py
index 6c66aee..2a3a66d 100644
--- a/keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py
+++ b/keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py
@@ -2442,7 +2442,7 @@ class AuthProtocolLoadingTests(BaseAuthTokenMiddlewareTest):
s = admin_token.add_service('identity', name='keystone')
s.add_standard_endpoints(admin=self.KEYSTONE_URL)
- self.requests_mock.post(self.DISC_URL + '/v3/auth/tokens',
+ self.requests_mock.post('%s/v3/auth/tokens' % self.AUTH_URL,
json=admin_token,
headers={'X-Subject-Token': admin_token_id})
@@ -2454,7 +2454,7 @@ class AuthProtocolLoadingTests(BaseAuthTokenMiddlewareTest):
request_headers = {'X-Subject-Token': user_token_id,
'X-Auth-Token': admin_token_id}
- self.requests_mock.get(self.CRUD_URL + '/v3/auth/tokens',
+ self.requests_mock.get('%s/v3/auth/tokens' % self.KEYSTONE_BASE_URL,
request_headers=request_headers,
json=user_token,
headers={'X-Subject-Token': uuid.uuid4().hex})
diff --git a/keystonemiddleware/tests/unit/client_fixtures.py b/keystonemiddleware/tests/unit/client_fixtures.py
index 528b418..fe199fc 100644
--- a/keystonemiddleware/tests/unit/client_fixtures.py
+++ b/keystonemiddleware/tests/unit/client_fixtures.py
@@ -252,7 +252,7 @@ class Examples(fixtures.Fixture):
SERVICE_ROLE_NAME2 = 'service_role2'
self.SERVICE_TYPE = 'identity'
- self.UNVERSIONED_SERVICE_URL = 'http://keystone.server:5000/'
+ self.UNVERSIONED_SERVICE_URL = 'https://keystone.example.com:1234/'
self.SERVICE_URL = self.UNVERSIONED_SERVICE_URL + 'v2.0'
# Old Tokens