summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorYogeshwar Srikrishnan <yoga80@yahoo.com>2011-06-01 13:11:47 -0500
committerYogeshwar Srikrishnan <yoga80@yahoo.com>2011-06-01 13:11:47 -0500
commit908ededed96b54760188a010e6bd44b7325cf68c (patch)
tree42a8350004c576d54cd2b32d85226877233b03cf /test
parent1294a7470771074e97a0d1ce68c79a8795501ed6 (diff)
Changes to also return role references as a part of user when get token call is made for a specific tenant.
Diffstat (limited to 'test')
-rw-r--r--test/unit/test_common.py8
-rw-r--r--test/unit/test_token.py48
2 files changed, 53 insertions, 3 deletions
diff --git a/test/unit/test_common.py b/test/unit/test_common.py
index 11d6a33d..e77f7fc8 100644
--- a/test/unit/test_common.py
+++ b/test/unit/test_common.py
@@ -739,6 +739,14 @@ def create_role_ref_xml(user_id, role_id, tenant_id, auth_token):
"X-Auth-Token": auth_token,
"ACCEPT": "application/xml"})
return (resp, content)
+
+def delete_role_ref(user, role_ref_id, auth_token):
+ header = httplib2.Http(".cache")
+ url = '%susers/%s/roleRefs/%s' % (URL, user, role_ref_id)
+ resp, content = header.request(url, "DELETE", body='',
+ headers={"Content-Type": "application/json",
+ "X-Auth-Token": str(auth_token)})
+ return (resp, content)
def create_role_xml(role_id, auth_token):
header = httplib2.Http(".cache")
diff --git a/test/unit/test_token.py b/test/unit/test_token.py
index bfef2be3..0754f777 100644
--- a/test/unit/test_token.py
+++ b/test/unit/test_token.py
@@ -21,14 +21,16 @@ import sys
sys.path.append(os.path.abspath(os.path.join(os.path.abspath(__file__),
'..', '..', '..', '..', 'keystone')))
import unittest
-
import test_common as utils
-
+import json
+import keystone.logic.types.fault as fault
+from lxml import etree
class ValidateToken(unittest.TestCase):
def setUp(self):
self.tenant = utils.get_tenant()
+ self.user = 'joeuser'
self.token = utils.get_token('joeuser', 'secrete', self.tenant,
'token')
#self.user = utils.get_user()
@@ -36,8 +38,19 @@ class ValidateToken(unittest.TestCase):
self.auth_token = utils.get_auth_token()
self.exp_auth_token = utils.get_exp_auth_token()
#self.disabled_token = utils.get_disabled_token()
+ resp, content = utils.create_role_ref(self.user, 'Admin', self.tenant, str(self.auth_token))
+ obj = json.loads(content)
+ if not "roleRef" in obj:
+ raise fault.BadRequestFault("Expecting RoleRef")
+ roleRef = obj["roleRef"]
+ if not "id" in roleRef:
+ self.role_ref_id = None
+ else:
+ self.role_ref_id = roleRef["id"]
+
def tearDown(self):
+ resp, content = utils.delete_role_ref(self.user, self.role_ref_id, self.auth_token)
utils.delete_token(self.token, self.auth_token)
def test_validate_token_true(self):
@@ -53,6 +66,14 @@ class ValidateToken(unittest.TestCase):
self.fail('Service Not Available')
self.assertEqual(200, int(resp['status']))
self.assertEqual('application/json', utils.content_type(resp))
+ #verify content
+ obj = json.loads(content)
+ if not "auth" in obj:
+ raise self.fail("Expecting Auth")
+ role_refs = obj["auth"]["user"]["roleRefs"]
+ role_ref = role_refs[0]
+ role_ref_id = role_ref["id"]
+ self.assertEqual(self.role_ref_id, role_ref_id)
def test_validate_token_true_xml(self):
header = httplib2.Http(".cache")
@@ -67,7 +88,28 @@ class ValidateToken(unittest.TestCase):
self.fail('Service Not Available')
self.assertEqual(200, int(resp['status']))
self.assertEqual('application/xml', utils.content_type(resp))
-
+ #verify content
+ dom = etree.Element("root")
+ dom.append(etree.fromstring(content))
+ auth = dom.find("{http://docs.openstack.org/identity/api/v2.0}" \
+ "auth")
+ if auth == None:
+ self.fail("Expecting Auth")
+
+ user = auth.find("{http://docs.openstack.org/identity/api/v2.0}" \
+ "user")
+ if user == None:
+ self.fail("Expecting User")
+ roleRefs = user.find("{http://docs.openstack.org/identity/api/v2.0}" \
+ "roleRefs")
+ if roleRefs == None:
+ self.fail("Expecting Role Refs")
+ roleRef = roleRefs.find("{http://docs.openstack.org/identity/api/v2.0}" \
+ "roleRef")
+ if roleRef == None:
+ self.fail("Expecting Role Refs")
+ self.assertEqual(str(self.role_ref_id), roleRef.get("id"))
+
def test_validate_token_expired(self):
header = httplib2.Http(".cache")
url = '%stokens/%s?belongsTo=%s' % (utils.URL, self.exp_auth_token,