summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Young <ayoung@redhat.com>2013-07-31 13:31:16 -0400
committerAdam Young <ayoung@redhat.com>2013-08-01 17:52:23 -0400
commit7ac3d4e4543ed7b540fe60db9b222b179ea301b7 (patch)
tree9ff52da194a3b60cc86ae26002808f3d5ef9e16d
parenta39a97d104a425c808648b360c6075b025fb21eb (diff)
downloadkeystone-7ac3d4e4543ed7b540fe60db9b222b179ea301b7.tar.gz
keystone-7ac3d4e4543ed7b540fe60db9b222b179ea301b7.tar.xz
keystone-7ac3d4e4543ed7b540fe60db9b222b179ea301b7.zip
add OS-TRUST to links
Bug 1183874 Change-Id: I3881e360485c4c1ff6d67aec12d47130c6b0eb70
-rw-r--r--keystone/trust/controllers.py18
-rw-r--r--tests/test_auth.py4
2 files changed, 20 insertions, 2 deletions
diff --git a/keystone/trust/controllers.py b/keystone/trust/controllers.py
index 7be6e8fd..7a94fe29 100644
--- a/keystone/trust/controllers.py
+++ b/keystone/trust/controllers.py
@@ -35,6 +35,21 @@ class TrustV3(controller.V3Controller):
collection_name = "trusts"
member_name = "trust"
+ @classmethod
+ def base_url(cls, path=None):
+ endpoint = CONF.public_endpoint % CONF
+
+ # allow a missing trailing slash in the config
+ if endpoint[-1] != '/':
+ endpoint += '/'
+
+ url = endpoint + 'v3/OS-TRUST'
+
+ if path:
+ return url + path
+ else:
+ return url + '/' + cls.collection_name
+
def _get_user_id(self, context):
if 'token_id' in context:
token_id = context['token_id']
@@ -78,8 +93,7 @@ class TrustV3(controller.V3Controller):
trust_full_roles.append(full_role)
trust['roles'] = trust_full_roles
trust['roles_links'] = {
- 'self': (CONF.public_endpoint % CONF +
- "trusts/%s/roles" % trust['id']),
+ 'self': (self.base_url() + "/%s/roles" % trust['id']),
'next': None,
'previous': None}
diff --git a/tests/test_auth.py b/tests/test_auth.py
index 1416269b..db5314be 100644
--- a/tests/test_auth.py
+++ b/tests/test_auth.py
@@ -618,6 +618,10 @@ class AuthWithTrust(AuthTest):
role_ids = [self.role_browser['id'], self.role_member['id']]
self.assertTrue(timeutils.parse_strtime(self.new_trust['expires_at'],
fmt=TIME_FORMAT))
+ self.assertIn('http://localhost:5000/v3/OS-TRUST/',
+ self.new_trust['links']['self'])
+ self.assertIn('http://localhost:5000/v3/OS-TRUST/',
+ self.new_trust['roles_links']['self'])
for role in self.new_trust['roles']:
self.assertIn(role['id'], role_ids)