From b96d1716ff0057dcfe4905fef6d598160a23157c Mon Sep 17 00:00:00 2001 From: jabdul Date: Thu, 12 May 2011 20:09:15 +0530 Subject: Optimised test_users.py --- test/unit/test_common.py | 195 ++++++- test/unit/test_users.py | 1356 ++++++++++++++++++---------------------------- 2 files changed, 693 insertions(+), 858 deletions(-) diff --git a/test/unit/test_common.py b/test/unit/test_common.py index 6bb86542..3b9197a8 100644 --- a/test/unit/test_common.py +++ b/test/unit/test_common.py @@ -57,8 +57,7 @@ def create_tenant_group(groupid, tenantid, auth_token): url = '%stenant/%s/groups' % (URL, tenantid) body = {"group": {"id": groupid, - "description": "A description ..." - }} + "description": "A description ..."}} resp, content = h.request(url, "POST", body=json.dumps(body), headers={"Content-Type": "application/json", "X-Auth-Token": auth_token}) @@ -88,8 +87,7 @@ def create_global_group(groupid, auth_token): url = '%sgroups' % (URL) body = {"group": {"id": groupid, - "description": "A description ..." - }} + "description": "A description ..."}} resp, content = h.request(url, "POST", body=json.dumps(body), headers={"Content-Type": "application/json", "X-Auth-Token": auth_token}) @@ -118,6 +116,7 @@ def delete_global_group(groupid, auth_token): "X-Auth-Token": auth_token}) return (resp, content) + def delete_global_group_xml(groupid, auth_token): h = httplib2.Http(".cache") url = '%sgroups/%s' % (URL, groupid) @@ -208,6 +207,7 @@ def delete_tenant_group_xml(groupid, tenantid, auth_token): "ACCEPT": "application/xml"}) return (resp, content) + def create_user(tenantid, userid, auth_token): h = httplib2.Http(".cache") url = '%stenants/%s/users' % (URL, tenantid) @@ -222,16 +222,6 @@ def create_user(tenantid, userid, auth_token): return (resp, content) -def delete_user(tenant, userid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL, tenant, userid) - - resp, content = h.request(url, "DELETE", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - - return (resp, content) - def create_user_xml(tenantid, userid, auth_token): h = httplib2.Http(".cache") url = '%stenants/%s/users' % (URL, tenantid) @@ -246,6 +236,17 @@ def create_user_xml(tenantid, userid, auth_token): "ACCEPT": "application/xml"}) return (resp, content) + +def delete_user(tenant, userid, auth_token): + h = httplib2.Http(".cache") + url = '%stenants/%s/users/%s' % (URL, tenant, userid) + + resp, content = h.request(url, "DELETE", body='{}', + headers={"Content-Type": "application/json", + "X-Auth-Token": auth_token}) + return resp + + def delete_user_xml(tenantid, userid, auth_token): h = httplib2.Http(".cache") url = '%stenants/%s/users/%s' % (URL, tenantid, userid) @@ -253,8 +254,144 @@ def delete_user_xml(tenantid, userid, auth_token): headers={"Content-Type": "application/xml", "X-Auth-Token": auth_token, "ACCEPT": "application/xml"}) + return resp + + +def user_update_json(tenant_id, user_id, auth_token, email=None): + h = httplib2.Http(".cache") + url = '%stenants/%s/users/%s' % (URL, tenant_id, user_id) + if email is None: + new_email = "updatedjoeuser@rackspace.com" + else: + new_email = email + data = '{"user": { "email": "%s"}}' % (new_email) + resp, content = h.request(url, "PUT", body=data, + headers={"Content-Type": "application/json", + "X-Auth-Token": auth_token}) return (resp, content) + +def user_update_xml(tenant_id, user_id, auth_token, email=None): + h = httplib2.Http(".cache") + url = '%stenants/%s/users/%s' % (URL, tenant_id, user_id) + if email is None: + new_email = "updatedjoeuser@rackspace.com" + else: + new_email = email + data = ' \ + ' % (new_email) + resp, content = h.request(url, "PUT", body=data, + headers={"Content-Type": "application/xml", + "X-Auth-Token": auth_token, + "ACCEPT": "application/xml"}) + return (resp, content) + + +def user_get_json(tenant_id, user_id, auth_token): + h = httplib2.Http(".cache") + url = '%stenants/%s/users/%s' % (URL, tenant_id, user_id) + #test for Content-Type = application/json + resp, content = h.request(url, "GET", body='{}', + headers={"Content-Type": "application/json", + "X-Auth-Token": auth_token}) + return (resp, content) + + +def user_password_json(tenant_id, user_id, auth_token): + h = httplib2.Http(".cache") + url = '%stenants/%s/users/%s/password' % (URL, tenant_id, user_id) + data = '{"user": { "password": "p@ssword"}}' + resp, content = h.request(url, "PUT", body=data, + headers={"Content-Type": "application/json", + "X-Auth-Token": auth_token}) + return (resp, content) + + +def user_password_xml(tenant_id, user_id, auth_token): + h = httplib2.Http(".cache") + url = '%stenants/%s/users/%s/password' % (URL, tenant_id, user_id) + data = ' \ + ' + resp, content = h.request(url, "PUT", body=data, + headers={"Content-Type": "application/xml", + "X-Auth-Token": auth_token, + "ACCEPT": "application/xml"}) + return (resp, content) + + +def user_enabled_json(tenant_id, user_id, auth_token): + h = httplib2.Http(".cache") + url = '%stenants/%s/users/%s/enabled' % (URL, tenant_id, user_id) + data = {"user": {"enabled": True}} + resp, content = h.request(url, "PUT", body=json.dumps(data), + headers={"Content-Type": "application/json", + "X-Auth-Token": auth_token}) + return (resp, content) + + +def user_enabled_xml(tenant_id, user_id, auth_token): + h = httplib2.Http(".cache") + url = '%stenants/%s/users/%s/enabled' % (URL, tenant_id, user_id) + data = ' \ + ' + resp, content = h.request(url, "PUT", body=data, + headers={"Content-Type": "application/xml", + "X-Auth-Token": auth_token, + "ACCEPT": "application/xml"}) + return (resp, content) + + +def user_get_xml(tenant_id, user_id, auth_token): + h = httplib2.Http(".cache") + url = '%stenants/%s/users/%s' % (URL, tenant_id, user_id) + resp, content = h.request(url, "GET", body='{}', + headers={"Content-Type": "application/xml", + "X-Auth-Token": auth_token, + "ACCEPT": "application/xml"}) + return (resp, content) + + +def users_get_json(tenant_id, auth_token): + h = httplib2.Http(".cache") + url = '%stenants/%s/users' % (URL, tenant_id) + resp, content = h.request(url, "GET", body='{}', + headers={"Content-Type": "application/json", + "X-Auth-Token": auth_token}) + return (resp, content) + + +def users_get_xml(tenant_id, auth_token): + h = httplib2.Http(".cache") + url = '%stenants/%s/users' % (URL, tenant_id) + resp, content = h.request(url, "GET", body='{}', + headers={"Content-Type": "application/xml", + "X-Auth-Token": auth_token, + "ACCEPT": "application/xml"}) + return (resp, content) + + +def users_group_get_json(tenant_id, user_id, auth_token): + h = httplib2.Http(".cache") + url = '%stenants/%s/users/%s/groups' % (URL, tenant_id, user_id) + resp, content = h.request(url, "GET", body='{}', + headers={"Content-Type": "application/json", + "X-Auth-Token": auth_token}) + return (resp, content) + + +def users_group_get_xml(tenant_id, user_id, auth_token): + h = httplib2.Http(".cache") + url = '%stenants/%s/users/%s/groups' % (URL, tenant_id, user_id) + resp, content = h.request(url, "GET", body='{}', + headers={"Content-Type": "application/xml", + "X-Auth-Token": auth_token, + "ACCEPT": "application/xml"}) + return (resp, content) + + def add_user_tenant_group(tenantid, groupid, userid, auth_token): h = httplib2.Http(".cache") url = '%stenants/%s/groups/%s/users/%s' % (URL, tenantid, groupid, userid) @@ -264,6 +401,7 @@ def add_user_tenant_group(tenantid, groupid, userid, auth_token): "X-Auth-Token": auth_token}) return (resp, content) + def add_user_tenant_group_xml(tenantid, groupid, userid, auth_token): h = httplib2.Http(".cache") url = '%stenants/%s/groups/%s/users/%s' % (URL, tenantid, groupid, userid) @@ -274,6 +412,7 @@ def add_user_tenant_group_xml(tenantid, groupid, userid, auth_token): "ACCEPT": "application/xml"}) return (resp, content) + def delete_user_tenant_group(tenantid, groupid, userid, auth_token): h = httplib2.Http(".cache") url = '%stenants/%s/groups/%s/users/%s' % (URL, tenantid, groupid, userid) @@ -283,6 +422,7 @@ def delete_user_tenant_group(tenantid, groupid, userid, auth_token): "X-Auth-Token": auth_token}) return (resp, content) + def delete_user_tenant_group_xml(tenantid, groupid, userid, auth_token): h = httplib2.Http(".cache") url = '%stenants/%s/groups/%s/users/%s' % (URL, tenantid, groupid, userid) @@ -293,6 +433,7 @@ def delete_user_tenant_group_xml(tenantid, groupid, userid, auth_token): "ACCEPT": "application/xml"}) return (resp, content) + def get_user_tenant_group(tenantid, groupid, auth_token): h = httplib2.Http(".cache") url = '%stenants/%s/groups/%s/users' % (URL, tenantid, groupid) @@ -302,6 +443,7 @@ def get_user_tenant_group(tenantid, groupid, auth_token): "X-Auth-Token": auth_token}) return (resp, content) + def get_user_tenant_group_xml(tenantid, groupid, auth_token): h = httplib2.Http(".cache") url = '%stenants/%s/groups/%s/users' % (URL, tenantid, groupid) @@ -322,6 +464,7 @@ def add_user_global_group(groupid, userid, auth_token): "X-Auth-Token": auth_token}) return (resp, content) + def add_user_global_group_xml(groupid, userid, auth_token): h = httplib2.Http(".cache") url = '%sgroups/%s/users/%s' % (URL, groupid, userid) @@ -332,6 +475,7 @@ def add_user_global_group_xml(groupid, userid, auth_token): "ACCEPT": "application/xml"}) return (resp, content) + def delete_user_global_group(groupid, userid, auth_token): h = httplib2.Http(".cache") url = '%sgroups/%s/users/%s' % (URL, groupid, userid) @@ -341,6 +485,7 @@ def delete_user_global_group(groupid, userid, auth_token): "X-Auth-Token": auth_token}) return (resp, content) + def delete_user_global_group_xml(groupid, userid, auth_token): h = httplib2.Http(".cache") url = '%sgroups/%s/users/%s' % (URL, groupid, userid) @@ -351,6 +496,7 @@ def delete_user_global_group_xml(groupid, userid, auth_token): "ACCEPT": "application/xml"}) return (resp, content) + def get_user_global_group(groupid, auth_token): h = httplib2.Http(".cache") url = '%sgroups/%s/users' % (URL, groupid) @@ -361,6 +507,7 @@ def get_user_global_group(groupid, auth_token): return (resp, content) + def get_userid(): return 'test_user11' @@ -372,6 +519,7 @@ def get_password(): def get_email(): return 'joetest@rackspace.com' + def get_user_global_group_xml(groupid, auth_token): h = httplib2.Http(".cache") url = '%sgroups/%s/users' % (URL, groupid) @@ -382,6 +530,7 @@ def get_user_global_group_xml(groupid, auth_token): "ACCEPT": "application/xml"}) return (resp, content) + def get_tenant(): return '1234' @@ -393,6 +542,7 @@ def get_user(): def get_userdisabled(): return 'disabled' + def get_auth_token(): return '999888777666' @@ -400,12 +550,15 @@ def get_auth_token(): def get_exp_auth_token(): return '000999' + def get_none_token(): return '' + def get_non_existing_token(): return 'invalid_token' + def get_disabled_token(): return '999888777' @@ -413,26 +566,26 @@ def get_disabled_token(): def content_type(resp): return resp['content-type'].split(';')[0] + def get_global_tenant(): return 'GlobalTenant' -def handle_user_resp(self,content, respvalue,resptype): + +def handle_user_resp(self, content, respvalue, resptype): if respvalue == 200: if resptype == 'application/json': content = json.loads(content) self.tenant = content['user']['tenantId'] self.userid = content['user']['id'] if resptype == 'application/xml': - content=etree.fromstring(content) - self.tenant=content.get("tenantId") - self.id=content.get("id") - - + content = etree.fromstring(content) + self.tenant = content.get("tenantId") + self.id = content.get("id") if respvalue == 500: self.fail('IDM fault') elif respvalue == 503: self.fail('Service Not Available') + def content_type(resp): return resp['content-type'].split(';')[0] - diff --git a/test/unit/test_users.py b/test/unit/test_users.py index 31afe408..0b84d3fb 100644 --- a/test/unit/test_users.py +++ b/test/unit/test_users.py @@ -10,350 +10,306 @@ import json from lxml import etree import unittest from webtest import TestApp -from test_common import * +import test_common as utils +from test_common import URL + class user_test(unittest.TestCase): def setUp(self): - self.token = get_token('joeuser', 'secrete', 'token') - self.tenant = get_tenant() - self.password = get_password() - self.email = get_email() - self.user = get_user() - self.userdisabled = get_userdisabled() - self.auth_token = get_auth_token() - self.exp_auth_token = get_exp_auth_token() - self.disabled_token = get_disabled_token() - self.missing_token = get_none_token() - self.invalid_token = get_non_existing_token() + self.token = utils.get_token('joeuser', 'secrete', 'token') + self.tenant = utils.get_tenant() + self.password = utils.get_password() + self.email = utils.get_email() + self.user = utils.get_user() + self.userdisabled = utils.get_userdisabled() + self.auth_token = utils.get_auth_token() + self.exp_auth_token = utils.get_exp_auth_token() + self.disabled_token = utils.get_disabled_token() + self.missing_token = utils.get_none_token() + self.invalid_token = utils.get_non_existing_token() def tearDown(self): - - resp, content = delete_user(self.tenant, self.user, - str(self.auth_token)) + utils.delete_user(self.tenant, self.user, str(self.auth_token)) class create_user_test(user_test): def test_a_user_create_json(self): - resp, content = create_user(self.tenant, self.user, - str(self.auth_token)) + utils.delete_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.create_user(self.tenant, self.user, \ + str(self.auth_token)) resp_val = int(resp['status']) - handle_user_resp(self,content, resp_val, content_type(resp)) - self.assertEqual(201,resp_val) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) + self.assertEqual(201, resp_val) def test_a_user_create_xml(self): - resp, content = delete_user_xml(self.tenant, self.user, - str(self.auth_token)) - resp, content = create_user_xml(self.tenant, self.user, - str(self.auth_token)) + utils.delete_user_xml(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.create_user_xml(self.tenant, self.user, \ + str(self.auth_token)) resp_val = int(resp['status']) - handle_user_resp(self,content, resp_val, content_type(resp)) - - self.assertEqual(201,resp_val) - self.assertEqual('application/xml', content_type(resp)) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) + self.assertEqual(201, resp_val) + self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_create_json_disabled_tenant(self): - resp, content = create_user('0000', self.user, - str(self.auth_token)) + resp, content = utils.create_user('0000', self.user, + str(self.auth_token)) resp_val = int(resp['status']) - handle_user_resp(self,content, resp_val, content_type(resp)) - self.assertEqual(403,resp_val) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) + self.assertEqual(403, resp_val) def test_a_user_create_json_disabled_tenant_xml(self): - resp, content = create_user_xml('0000', self.user, - str(self.auth_token)) + resp, content = utils.create_user_xml('0000', self.user, \ + str(self.auth_token)) resp_val = int(resp['status']) - handle_user_resp(self,content, resp_val, content_type(resp)) - self.assertEqual(403,resp_val) - self.assertEqual('application/xml', content_type(resp)) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) + self.assertEqual(403, resp_val) + self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_again_json(self): - resp, content = create_user(self.tenant, self.user, + resp, content = utils.create_user(self.tenant, self.user, \ str(self.auth_token)) resp_val = int(resp['status']) - handle_user_resp(self,content, resp_val, content_type(resp)) - resp, content = create_user(self.tenant, self.user, + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) + resp, content = utils.create_user(self.tenant, self.user, \ str(self.auth_token)) self.assertEqual(409, int(resp['status'])) def test_a_user_again_xml(self): - resp, content = create_user_xml(self.tenant, self.user, + utils.create_user_xml(self.tenant, self.user, \ str(self.auth_token)) - resp, content = create_user_xml(self.tenant, self.user, + resp, content = utils.create_user_xml(self.tenant, self.user, \ str(self.auth_token)) content = etree.fromstring(content) resp_val = int(resp['status']) - handle_user_resp(self,content, resp_val, content_type(resp)) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) self.assertEqual(409, int(resp['status'])) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_create_expired_token(self): - resp, content = create_user(self.tenant, self.user, + resp, content = utils.create_user(self.tenant, self.user, \ str(self.exp_auth_token)) resp_val = int(resp['status']) - handle_user_resp(self, content,resp_val, content_type(resp)) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) self.assertEqual(403, int(resp['status'])) def test_a_user_create_expired_token_xml(self): - resp, content = create_user_xml(self.tenant, self.user, - str(self.exp_auth_token)) + resp, content = utils.create_user_xml(self.tenant, self.user, \ + str(self.exp_auth_token)) resp_val = int(resp['status']) - handle_user_resp(self, content,resp_val, content_type(resp)) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) self.assertEqual(403, int(resp['status'])) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_create_disabled_token(self): - resp, content = create_user(self.tenant, self.user, + resp, content = utils.create_user(self.tenant, self.user, \ str(self.disabled_token)) resp_val = int(resp['status']) - handle_user_resp(self, content, resp_val, content_type(resp)) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) self.assertEqual(403, int(resp['status'])) def test_a_user_create_disabled_token_xml(self): - resp, content = create_user_xml(self.tenant, self.user, - str(self.disabled_token)) + resp, content = utils.create_user_xml(self.tenant, self.user, \ + str(self.disabled_token)) resp_val = int(resp['status']) - handle_user_resp(self, content, resp_val, content_type(resp)) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) self.assertEqual(403, int(resp['status'])) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_create_missing_token(self): - resp, content = create_user(self.tenant, self.user, + resp, content = utils.create_user(self.tenant, self.user, \ str(self.missing_token)) resp_val = int(resp['status']) - handle_user_resp(self, content, resp_val, content_type(resp)) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) self.assertEqual(401, int(resp['status'])) def test_a_user_create_missing_token_xml(self): - resp, content = create_user_xml(self.tenant, self.user, - str(self.missing_token)) + resp, content = utils.create_user_xml(self.tenant, self.user, \ + str(self.missing_token)) resp_val = int(resp['status']) - handle_user_resp(self, content, resp_val, content_type(resp)) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) self.assertEqual(401, int(resp['status'])) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_create_invalid_token(self): - resp, content = create_user(self.tenant, self.user, + resp, content = utils.create_user(self.tenant, self.user, \ str(self.invalid_token)) resp_val = int(resp['status']) - handle_user_resp(self, content,resp_val, content_type(resp)) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) self.assertEqual(404, int(resp['status'])) def test_a_user_create_invalid_token_xml(self): - resp, content = create_user_xml(self.tenant, self.user, + resp, content = utils.create_user_xml(self.tenant, self.user, \ str(self.invalid_token)) resp_val = int(resp['status']) - handle_user_resp(self, content,resp_val, content_type(resp)) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) self.assertEqual(404, int(resp['status'])) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) class get_user_test(user_test): - def test_a_user_get_json(self): - h = httplib2.Http(".cache") - resp, content = create_user(self.tenant, self.user, - str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) + def test_a_user_get(self): + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_get_json(self.tenant, self.user, \ + str(self.auth_token)) resp_val = int(resp['status']) - handle_user_resp(self, content, resp_val, content_type(resp)) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) self.assertEqual(200, resp_val) def test_a_user_get_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user(self.tenant, self.user, - str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_get_xml(self.tenant, self.user, \ + str(self.auth_token)) resp_val = int(resp['status']) - handle_user_resp(self, content, resp_val, content_type(resp)) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) self.assertEqual(200, resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_get_expired_token(self): - h = httplib2.Http(".cache") - resp, content = create_user(self.user, self.tenant, - str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.exp_auth_token - }) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_get_json(self.tenant, self.user, \ + str(self.exp_auth_token)) resp_val = int(resp['status']) - handle_user_resp(self, content, resp_val, content_type(resp)) - self.assertEqual(403,resp_val) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) + self.assertEqual(403, resp_val) def test_a_user_get_expired_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user(self.user, self.tenant, - str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_get_xml(self.tenant, self.user, \ + str(self.exp_auth_token)) resp_val = int(resp['status']) - handle_user_resp(self, content, resp_val, content_type(resp)) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) self.assertEqual(403, resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_get_disabled_token(self): - h = httplib2.Http(".cache") - resp, content = create_user(self.user, self.tenant, - str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.disabled_token} - ) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_get_json(self.tenant, \ + self.user, \ + str(self.disabled_token)) resp_val = int(resp['status']) - handle_user_resp(self, content, resp_val, content_type(resp)) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) self.assertEqual(403, resp_val) def test_a_user_get_disabled_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user(self.user, self.tenant, - str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.disabled_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_get_xml(self.tenant, \ + self.user, \ + str(self.disabled_token)) resp_val = int(resp['status']) - handle_user_resp(self, content, resp_val, content_type(resp)) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) self.assertEqual(403, resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_get_missing_token(self): - h = httplib2.Http(".cache") - resp, content = create_user(self.user, self.tenant, - str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.missing_token}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_get_json(self.tenant, \ + self.user, \ + str(self.missing_token)) resp_val = int(resp['status']) - handle_user_resp(self, content, resp_val, content_type(resp)) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) self.assertEqual(401, resp_val) def test_a_user_get_missing_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user(self.user, self.tenant, - str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.missing_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_get_xml(self.tenant, self.user, \ + str(self.missing_token)) resp_val = int(resp['status']) - handle_user_resp(self, content, resp_val, content_type(resp)) - self.assertEqual(401,resp_val) - self.assertEqual('application/xml', content_type(resp)) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) + self.assertEqual(401, resp_val) + self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_get_invalid_token(self): - h = httplib2.Http(".cache") - resp, content = create_user(self.user, self.tenant, - str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.invalid_token}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_get_json(self.tenant, self.user, \ + str(self.invalid_token)) resp_val = int(resp['status']) - handle_user_resp(self, content, resp_val, content_type(resp)) - self.assertEqual(404,resp_val) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) + self.assertEqual(404, resp_val) def test_a_user_get_invalid_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user(self.user, self.tenant, - str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.invalid_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_get_xml(self.tenant, self.user, \ + str(self.invalid_token)) resp_val = int(resp['status']) - handle_user_resp(self, content, resp_val, content_type(resp)) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) self.assertEqual(404, resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_get_disabled_user(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL, self.tenant, - self.userdisabled) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_get_json(self.tenant, \ + self.userdisabled, \ + str(self.auth_token)) resp_val = int(resp['status']) - - handle_user_resp(self, content, resp_val, content_type(resp)) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) self.assertEqual(403, resp_val) def test_a_user_get_disabled_user_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.userdisabled) - - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_get_xml(self.tenant, self.userdisabled, \ + str(self.auth_token)) resp_val = int(resp['status']) - handle_user_resp(self, content, resp_val, content_type(resp)) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) self.assertEqual(403, resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_get_disabled_tenant(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL, '0000', self.userdisabled) - - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_get_json('0000', self.user, \ + str(self.auth_token)) resp_val = int(resp['status']) - handle_user_resp(self, content, resp_val, content_type(resp)) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) self.assertEqual(403, resp_val) def test_a_user_get_disabled_tenant_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL, '0000', self.userdisabled) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_get_xml('0000', self.user, \ + str(self.auth_token)) resp_val = int(resp['status']) - handle_user_resp(self, content, resp_val, content_type(resp)) + utils.handle_user_resp(self, content, resp_val, \ + utils.content_type(resp)) self.assertEqual(403, resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', \ + utils.content_type(resp)) class delete_user_test(user_test): - def test_a_user_delete_json(self): - h = httplib2.Http(".cache") - resp, content = create_user(self.tenant, self.user, - str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "DELETE", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) + def test_a_user_delete(self): + utils.create_user(self.tenant, self.user, \ + str(self.auth_token)) + resp = utils.delete_user(self.tenant, self.user, \ + str(self.auth_token)) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') @@ -362,14 +318,10 @@ class delete_user_test(user_test): self.assertEqual(204, resp_val) def test_a_user_delete_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user_xml(self.tenant, self.user, - str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - resp, content = h.request(url, "DELETE", body='{}', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, \ + str(self.auth_token)) + resp = utils.delete_user_xml(self.tenant, self.user, \ + str(self.auth_token)) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') @@ -378,14 +330,10 @@ class delete_user_test(user_test): self.assertEqual(204, resp_val) def test_a_user_delete_expired_token(self): - h = httplib2.Http(".cache") - resp, content = create_user(self.user, self.tenant, - str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "DELETE", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.exp_auth_token}) + utils.create_user(self.tenant, self.user, \ + str(self.auth_token)) + resp = utils.delete_user(self.tenant, self.user, \ + str(self.exp_auth_token)) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') @@ -394,32 +342,23 @@ class delete_user_test(user_test): self.assertEqual(403, resp_val) def test_a_user_delete_expired_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user(self.user, self.tenant, + utils.create_user(self.tenant, self.user, \ str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "DELETE", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) + resp = utils.delete_user_xml(self.tenant, self.user, \ + str(self.exp_auth_token)) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') self.assertEqual(403, resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_delete_missing_token(self): - h = httplib2.Http(".cache") - resp, content = create_user(self.user, self.tenant, + utils.create_user(self.tenant, self.user, \ str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "DELETE", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.missing_token}) + resp = utils.delete_user(self.tenant, self.user, \ + str(self.missing_token)) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') @@ -428,32 +367,23 @@ class delete_user_test(user_test): self.assertEqual(401, resp_val) def test_a_user_delete_missing_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user(self.user, self.tenant, + utils.create_user(self.tenant, self.user, \ str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "DELETE", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.missing_token, - "ACCEPT": "application/xml"}) + resp = utils.delete_user_xml(self.tenant, self.user, \ + str(self.missing_token)) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') self.assertEqual(401, resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_delete_invalid_token(self): - h = httplib2.Http(".cache") - resp, content = create_user(self.user, self.tenant, + utils.create_user(self.tenant, self.user, \ str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "DELETE", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.invalid_token}) + resp = utils.delete_user(self.tenant, self.user, \ + str(self.invalid_token)) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') @@ -462,32 +392,24 @@ class delete_user_test(user_test): self.assertEqual(404, resp_val) def test_a_user_delete_invalid_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user(self.user, self.tenant, + utils.create_user(self.tenant, self.user, \ str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "DELETE", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.invalid_token, - "ACCEPT": "application/xml"}) + resp = utils.delete_user_xml(self.tenant, self.user, \ + str(self.invalid_token)) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') self.assertEqual(404, resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_delete_disabled_tenant(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL, '0000', self.userdisabled) - #test for Content-Type = application/json - resp, content = h.request(url, "DELETE", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) + utils.create_user(self.tenant, self.user, \ + str(self.auth_token)) + resp = utils.delete_user("0000", self.user, \ + str(self.auth_token)) resp_val = int(resp['status']) - if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: @@ -495,30 +417,23 @@ class delete_user_test(user_test): self.assertEqual(403, resp_val) def test_a_user_delete_disabled_tenant_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL, '0000', self.userdisabled) - #test for Content-Type = application/json - resp, content = h.request(url, "DELETE", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, \ + str(self.auth_token)) + resp = utils.delete_user_xml("0000", self.user, \ + str(self.auth_token)) resp_val = int(resp['status']) - if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') self.assertEqual(403, resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) + class get_users_test(user_test): - def test_users_get_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL, self.tenant) - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) + def test_users_get(self): + resp, content = utils.users_get_json(self.tenant, self.auth_token) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') @@ -527,27 +442,17 @@ class get_users_test(user_test): self.assertEqual(200, resp_val) def test_users_get_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL, self.tenant) - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) + resp, content = utils.users_get_xml(self.tenant, self.auth_token) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') self.assertEqual(200, resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) - def test_users_get_expired_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL, self.tenant) - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.exp_auth_token} - ) + def test_users_get_expired_token(self): + resp, content = utils.users_get_json(self.tenant, self.exp_auth_token) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') @@ -556,27 +461,17 @@ class get_users_test(user_test): self.assertEqual(403, resp_val) def test_users_get_expired_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL, self.tenant) - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) + resp, content = utils.users_get_xml(self.tenant, self.exp_auth_token) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') self.assertEqual(403, resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) - def test_users_get_disabled_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL, self.tenant) - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.disabled_token} - ) + def test_users_get_disabled_token(self): + resp, content = utils.users_get_json(self.tenant, self.disabled_token) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') @@ -585,26 +480,17 @@ class get_users_test(user_test): self.assertEqual(403, resp_val) def test_users_get_disabled_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL, self.tenant) - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.disabled_token, - "ACCEPT": "application/xml"}) + resp, content = utils.users_get_xml(self.tenant, self.disabled_token) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') self.assertEqual(403, resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) - def test_users_get_missing_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL, self.tenant) - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.missing_token}) + def test_users_get_missing_token(self): + resp, content = utils.users_get_json(self.tenant, self.missing_token) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') @@ -613,26 +499,17 @@ class get_users_test(user_test): self.assertEqual(401, resp_val) def test_users_get_missing_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL, self.tenant) - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.missing_token, - "ACCEPT": "application/xml"}) + resp, content = utils.users_get_xml(self.tenant, self.missing_token) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') self.assertEqual(401, resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) - def test_users_get_invalid_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL, self.tenant) - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.invalid_token}) + def test_users_get_invalid_token(self): + resp, content = utils.users_get_json(self.tenant, self.invalid_token) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') @@ -641,312 +518,242 @@ class get_users_test(user_test): self.assertEqual(404, resp_val) def test_users_get_invalid_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL,self.tenant) - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.invalid_token, - "ACCEPT": "application/xml"}) + resp, content = utils.users_get_xml(self.tenant, self.invalid_token) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') self.assertEqual(404, resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) - def test_users_get_disabled_tenant_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL,"0000") - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) + def test_users_get_disabled_tenant(self): + resp, content = utils.users_get_json('0000', self.auth_token) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - - self.assertEqual(403,resp_val) + self.assertEqual(403, resp_val) def test_users_get_disabled_tenant_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL,"0000") - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) + resp, content = utils.users_get_xml('0000', self.auth_token) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - self.assertEqual(403,resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual(403, resp_val) + self.assertEqual('application/xml', utils.content_type(resp)) + class get_users_group_test(user_test): - def test_users_group_get_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/groups' % (URL, self.tenant, self.user) - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) + def test_users_group_get(self): + resp, content = utils.users_group_get_json(self.tenant, \ + self.user, \ + self.auth_token) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - self.assertEqual(200,resp_val) + self.assertEqual(200, resp_val) def test_users_group_get_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/groups' % (URL, self.tenant, self.user) - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) + resp, content = utils.users_group_get_xml(self.tenant, \ + self.user, \ + self.auth_token) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - self.assertEqual(200,resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual(200, resp_val) + self.assertEqual('application/xml', utils.content_type(resp)) - def test_users_group_get_expired_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/groups' % (URL, self.tenant, self.user) - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.exp_auth_token}) + def test_users_group_get_expired_token(self): + resp, content = utils.users_group_get_json(self.tenant, \ + self.user, \ + self.exp_auth_token) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - self.assertEqual(403,resp_val) + self.assertEqual(403, resp_val) def test_users_group_get_expired_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/groups' % (URL, self.tenant, self.user) - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) + resp, content = utils.users_group_get_xml(self.tenant, \ + self.user, \ + self.exp_auth_token) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - self.assertEqual(403,resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual(403, resp_val) + self.assertEqual('application/xml', utils.content_type(resp)) - def test_users_group_get_disabled_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/groups' % (URL, self.tenant, self.user) - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.disabled_token} - ) + def test_users_group_get_disabled_token(self): + resp, content = utils.users_group_get_json(self.tenant, \ + self.user, \ + self.disabled_token) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - self.assertEqual(403,resp_val) + self.assertEqual(403, resp_val) def test_users_group_get_disabled_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/groups' % (URL, self.tenant, self.user) - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.disabled_token, - "ACCEPT": "application/xml"}) + resp, content = utils.users_group_get_xml(self.tenant, \ + self.user, \ + self.disabled_token) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - self.assertEqual(403,resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual(403, resp_val) + self.assertEqual('application/xml', utils.content_type(resp)) - def test_users_group_get_missing_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/groups' % (URL, self.tenant, self.user) - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.missing_token}) + def test_users_group_get_missing_token(self): + resp, content = utils.users_group_get_json(self.tenant, \ + self.user, \ + self.missing_token) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - self.assertEqual(401,resp_val) + self.assertEqual(401, resp_val) def test_users_group_get_missing_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/groups' % (URL, self.tenant, self.user) - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.missing_token, - "ACCEPT": "application/xml"}) + resp, content = utils.users_group_get_xml(self.tenant, \ + self.user, \ + self.missing_token) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - self.assertEqual(401,resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual(401, resp_val) + self.assertEqual('application/xml', utils.content_type(resp)) - def test_users_group_get_invalid_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/groups' % (URL, self.tenant, self.user) - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.invalid_token}) + def test_users_group_get_invalid_token(self): + resp, content = utils.users_group_get_json(self.tenant, \ + self.user, \ + self.invalid_token) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - self.assertEqual(404,resp_val) + self.assertEqual(404, resp_val) def test_users_group_get_invalid_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/groups' % (URL, self.tenant, self.user) - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.invalid_token, - "ACCEPT": "application/xml"}) + resp, content = utils.users_group_get_xml(self.tenant, \ + self.user, \ + self.invalid_token) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - self.assertEqual(404,resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual(404, resp_val) + self.assertEqual('application/xml', utils.content_type(resp)) - def test_users_group_get_disabled_tenant_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/groups' % (URL, "0000", self.user) - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) + def test_users_group_get_disabled_tenant(self): + resp, content = utils.users_group_get_json('0000', \ + self.user, \ + self.auth_token) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - - self.assertEqual(403,resp_val) + self.assertEqual(403, resp_val) def test_users_group_get_disabled_tenant_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/groups' % (URL, "0000", self.user) - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) + resp, content = utils.users_group_get_xml('0000', \ + self.user, \ + self.auth_token) resp_val = int(resp['status']) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - self.assertEqual(403,resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual(403, resp_val) + self.assertEqual('application/xml', utils.content_type(resp)) + class update_user_test(user_test): - def test_user_update_json(self): - h = httplib2.Http(".cache") - resp, content = create_user(self.tenant, self.user, - str(self.auth_token)) - - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - - data = '{"user": { "email": "updatedjoeuser@rackspace.com"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) + def test_user_update(self): + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_update_json(self.tenant, self.user,\ + self.auth_token) resp_val = int(resp['status']) - content = json.loads(content) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - delete_user(self.tenant,self.user, str(self.auth_token)) - self.assertEqual(200,resp_val) - self.assertEqual('updatedjoeuser@rackspace.com',content['user']['email']) + utils.delete_user(self.tenant, self.user, str(self.auth_token)) + self.assertEqual(200, resp_val) + self.assertEqual('updatedjoeuser@rackspace.com', \ + content['user']['email']) def test_user_update_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user_xml(self.tenant,self.user, - str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_update_xml(self.tenant, self.user, \ + self.auth_token) resp_val = int(resp['status']) - content = etree.fromstring(content) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - delete_user(self.tenant,self.user, str(self.auth_token)) - self.assertEqual(200,resp_val) - self.assertEqual('updatedjoeuser@rackspace.com',content.get("email")) - self.assertEqual('application/xml', content_type(resp)) + utils.delete_user(self.tenant, self.user, str(self.auth_token)) + self.assertEqual(200, resp_val) + self.assertEqual('updatedjoeuser@rackspace.com', \ + content.get("email")) + self.assertEqual('application/xml', utils.content_type(resp)) - def test_user_update_user_disabled_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL,self.tenant, self.userdisabled) - data = '{"user": { "email": "updatedjoeuser@rackspace.com"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) + def test_user_update_user_disabled(self): + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_update_json(self.tenant, \ + self.userdisabled, \ + self.auth_token) resp_val = int(resp['status']) content = json.loads(content) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - self.assertEqual(403,resp_val) + self.assertEqual(403, resp_val) def test_user_update_user_disabled_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL,self.tenant, self.userdisabled) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_update_xml(self.tenant, \ + self.userdisabled, \ + self.auth_token) resp_val = int(resp['status']) content = etree.fromstring(content) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - self.assertEqual(403,resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual(403, resp_val) + self.assertEqual('application/xml', utils.content_type(resp)) - def test_user_update_email_conflict_json(self): - h = httplib2.Http(".cache") - resp, content = create_user_xml(self.tenant,self.user, - str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - data = '{"user": { "email": "joe@rackspace.com"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) + def test_user_update_email_conflict(self): + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_update_json(self.tenant, \ + self.user, \ + self.auth_token,\ + "joe@rackspace.com") resp_val = int(resp['status']) content = json.loads(content) if resp_val == 500: @@ -956,17 +763,11 @@ class update_user_test(user_test): self.assertEqual(409, resp_val) def test_user_update_email_conflict_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user_xml(self.tenant,self.user, - str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_update_xml(self.tenant, \ + self.user, \ + self.auth_token, \ + "joe@rackspace.com") resp_val = int(resp['status']) content = etree.fromstring(content) if resp_val == 500: @@ -974,11 +775,11 @@ class update_user_test(user_test): elif resp_val == 503: self.fail('Service Not Available') self.assertEqual(409, resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) def test_user_update_bad_request_json(self): h = httplib2.Http(".cache") - resp, content = create_user(self.tenant, self.user, + resp, content = utils.create_user(self.tenant, self.user, \ str(self.auth_token)) url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) data = '{"user_bad": { "bad": "updatedjoeuser@rackspace.com"}}' @@ -991,14 +792,14 @@ class update_user_test(user_test): self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - delete_user(self.tenant,self.user, str(self.auth_token)) + utils.delete_user(self.tenant, self.user, str(self.auth_token)) self.assertEqual(400, resp_val) def test_user_update_bad_request_xml(self): h = httplib2.Http(".cache") - resp, content = create_user_xml(self.tenant,self.user, + resp, content = utils.create_user_xml(self.tenant, self.user, \ str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) + url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) data = ' \ user xmlns="http://docs.openstack.org/idm/api/v1.0" \ email="updatedjoeuser@rackspace.com" />' @@ -1012,19 +813,15 @@ class update_user_test(user_test): self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - delete_user(self.tenant,self.user, str(self.auth_token)) - self.assertEqual(400,resp_val) - self.assertEqual('application/xml', content_type(resp)) - + utils.delete_user(self.tenant, self.user, str(self.auth_token)) + self.assertEqual(400, resp_val) + self.assertEqual('application/xml', utils.content_type(resp)) - def test_user_update_expired_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - data = '{"user": { "email": "updatedjoeuser@rackspace.com"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.exp_auth_token - }) + def test_user_update_expired_token(self): + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_update_json(self.tenant, \ + self.user, \ + self.exp_auth_token) resp_val = int(resp['status']) content = json.loads(content) if resp_val == 500: @@ -1034,15 +831,10 @@ class update_user_test(user_test): self.assertEqual(403, resp_val) def test_user_update_expired_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_update_xml(self.tenant, \ + self.user, \ + self.exp_auth_token) resp_val = int(resp['status']) content = etree.fromstring(content) if resp_val == 500: @@ -1050,16 +842,13 @@ class update_user_test(user_test): elif resp_val == 503: self.fail('Service Not Available') self.assertEqual(403, resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) - def test_user_update_disabled_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - data = '{"user": { "email": "updatedjoeuser@rackspace.com"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.disabled_token - }) + def test_user_update_disabled_token(self): + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_update_json(self.tenant, \ + self.user, \ + self.disabled_token) resp_val = int(resp['status']) content = json.loads(content) if resp_val == 500: @@ -1069,15 +858,10 @@ class update_user_test(user_test): self.assertEqual(403, resp_val) def test_user_update_disabled_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.disabled_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_update_xml(self.tenant, \ + self.user, \ + self.disabled_token) resp_val = int(resp['status']) content = etree.fromstring(content) if resp_val == 500: @@ -1085,18 +869,14 @@ class update_user_test(user_test): elif resp_val == 503: self.fail('Service Not Available') self.assertEqual(403, resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) - def test_user_update_invalid_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - - data = '{"user": { "email": "updatedjoeuser@rackspace.com"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.invalid_token}) + def test_user_update_invalid_token(self): + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_update_json(self.tenant, \ + self.user, \ + self.invalid_token) resp_val = int(resp['status']) - content = json.loads(content) if resp_val == 500: self.fail('IDM fault') @@ -1105,15 +885,10 @@ class update_user_test(user_test): self.assertEqual(404, resp_val) def test_user_update_invalid_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.invalid_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_update_xml(self.tenant, \ + self.user, \ + self.invalid_token) resp_val = int(resp['status']) content = etree.fromstring(content) if resp_val == 500: @@ -1121,15 +896,13 @@ class update_user_test(user_test): elif resp_val == 503: self.fail('Service Not Available') self.assertEqual(404, resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) - def test_user_update_missing_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - data = '{"user": { "email": "updatedjoeuser@rackspace.com"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.missing_token}) + def test_user_update_missing_token(self): + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_update_json(self.tenant, \ + self.user, \ + self.missing_token) resp_val = int(resp['status']) content = json.loads(content) if resp_val == 500: @@ -1139,15 +912,10 @@ class update_user_test(user_test): self.assertEqual(401, resp_val) def test_user_update_missing_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.missing_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_update_xml(self.tenant, \ + self.user, \ + self.missing_token) resp_val = int(resp['status']) content = etree.fromstring(content) if resp_val == 500: @@ -1155,89 +923,72 @@ class update_user_test(user_test): elif resp_val == 503: self.fail('Service Not Available') self.assertEqual(401, resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) class set_password_test(user_test): - def test_user_password_json(self): - h = httplib2.Http(".cache") - resp, content = create_user(self.tenant,self.user, - str(self.auth_token)) - url = '%stenants/%s/users/%s/password' % (URL,self.tenant,self.user) - data = '{"user": { "password": "p@ssword"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) + def test_user_password(self): + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_password_json(self.tenant, \ + self.user, \ + str(self.auth_token)) resp_val = int(resp['status']) content = json.loads(content) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - delete_user(self.tenant,self.user, str(self.auth_token)) - self.assertEqual(200,resp_val) - self.assertEqual('p@ssword',content['user']['password']) + utils.delete_user(self.tenant, self.user, str(self.auth_token)) + self.assertEqual(200, resp_val) + self.assertEqual('p@ssword', content['user']['password']) def test_user_password_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user_xml(self.tenant,self.user, - str(self.auth_token)) - url = '%stenants/%s/users/%s/password' % (URL, self.tenant, self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_password_xml(self.tenant, \ + self.user, \ + str(self.auth_token)) resp_val = int(resp['status']) content = etree.fromstring(content) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - delete_user(self.tenant, self.user, str(self.auth_token)) - self.assertEqual(200,resp_val) + utils.delete_user(self.tenant, self.user, str(self.auth_token)) + self.assertEqual(200, resp_val) self.assertEqual('p@ssword', content.get("password")) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) - def test_user_password_user_disabled_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/password' % (URL, self.tenant, self.userdisabled) - data = '{"user": { "password": "p@ssword"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", "X-Auth-Token": self.auth_token}) + def test_user_password_user_disabled(self): + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_password_json(self.tenant, \ + self.userdisabled, \ + str(self.auth_token)) resp_val = int(resp['status']) content = json.loads(content) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - self.assertEqual(403,resp_val) + self.assertEqual(403, resp_val) def test_user_password_user_disabled_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL, self.tenant, self.userdisabled) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_password_xml(self.tenant, \ + self.userdisabled, \ + str(self.auth_token)) resp_val = int(resp['status']) content = etree.fromstring(content) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - self.assertEqual(403,resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual(403, resp_val) + self.assertEqual('application/xml', utils.content_type(resp)) def test_user_password_bad_request_json(self): h = httplib2.Http(".cache") - resp, content = create_user(self.tenant, self.user, + utils.create_user(self.tenant, self.user, \ str(self.auth_token)) url = '%stenants/%s/users/%s/password' % (URL, self.tenant, self.user) data = '{"user_bad": { "password": "p@ssword"}}' @@ -1250,14 +1001,13 @@ class set_password_test(user_test): self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - delete_user(self.tenant,self.user, str(self.auth_token)) - self.assertEqual(400,resp_val) + utils.delete_user(self.tenant, self.user, str(self.auth_token)) + self.assertEqual(400, resp_val) def test_user_password_bad_request_xml(self): h = httplib2.Http(".cache") - resp, content = create_user_xml(self.tenant,self.user, - str(self.auth_token)) - url = '%stenants/%s/users/%s/password' % (URL,self.tenant,self.user) + utils.create_user_xml(self.tenant, self.user, str(self.auth_token)) + url = '%stenants/%s/users/%s/password' % (URL, self.tenant, self.user) data = ' \ user xmlns="http://docs.openstack.org/idm/api/v1.0" \ password="p@ssword" />' @@ -1271,18 +1021,15 @@ class set_password_test(user_test): self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - delete_user(self.tenant,self.user, str(self.auth_token)) - self.assertEqual(400,resp_val) - self.assertEqual('application/xml', content_type(resp)) - + utils.delete_user(self.tenant, self.user, str(self.auth_token)) + self.assertEqual(400, resp_val) + self.assertEqual('application/xml', utils.content_type(resp)) - def test_user_password_expired_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/password' % (URL, self.tenant, self.user) - data = '{"user": { "password": "p@ssword"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.exp_auth_token}) + def test_user_password_expired_token(self): + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_password_json(self.tenant, \ + self.user, \ + str(self.exp_auth_token)) resp_val = int(resp['status']) content = json.loads(content) if resp_val == 500: @@ -1292,15 +1039,10 @@ class set_password_test(user_test): self.assertEqual(403, resp_val) def test_user_password_expired_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/password' % (URL, self.tenant, self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_password_xml(self.tenant, \ + self.user, \ + str(self.exp_auth_token)) resp_val = int(resp['status']) content = etree.fromstring(content) if resp_val == 500: @@ -1308,15 +1050,13 @@ class set_password_test(user_test): elif resp_val == 503: self.fail('Service Not Available') self.assertEqual(403, resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) - def test_user_password_disabled_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/password' % (URL, self.tenant, self.user) - data = '{"user": { "password": "p@ssword"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.disabled_token}) + def test_user_password_disabled_token(self): + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_password_json(self.tenant, \ + self.user, \ + str(self.disabled_token)) resp_val = int(resp['status']) content = json.loads(content) if resp_val == 500: @@ -1326,15 +1066,10 @@ class set_password_test(user_test): self.assertEqual(403, resp_val) def test_user_password_disabled_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/password' % (URL, self.tenant, self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.disabled_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_password_xml(self.tenant, \ + self.user, \ + str(self.disabled_token)) resp_val = int(resp['status']) content = etree.fromstring(content) if resp_val == 500: @@ -1342,49 +1077,42 @@ class set_password_test(user_test): elif resp_val == 503: self.fail('Service Not Available') self.assertEqual(403, resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) - def test_user_password_invalid_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/password' % (URL, self.tenant, self.user) - data = '{"user": { "password": "p@ssword"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.invalid_token}) + def test_user_password_invalid_token(self): + utils.create_user(self.tenant, \ + self.user, \ + str(self.auth_token)) + resp, content = utils.user_password_json(self.tenant, \ + self.user, \ + str(self.invalid_token)) resp_val = int(resp['status']) content = json.loads(content) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - self.assertEqual(404,resp_val) + self.assertEqual(404, resp_val) def test_user_password_invalid_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/password' % (URL, self.tenant, self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.invalid_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_password_xml(self.tenant, \ + self.user, \ + str(self.invalid_token)) resp_val = int(resp['status']) content = etree.fromstring(content) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - self.assertEqual(404,resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual(404, resp_val) + self.assertEqual('application/xml', utils.content_type(resp)) - def test_user_password_missing_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/password' % (URL, self.tenant, self.user) - data = '{"user": { "password": "p@ssword"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.missing_token}) + def test_user_password_missing_token(self): + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_password_json(self.tenant, \ + self.user, \ + str(self.missing_token)) resp_val = int(resp['status']) content = json.loads(content) if resp_val == 500: @@ -1394,15 +1122,10 @@ class set_password_test(user_test): self.assertEqual(401, resp_val) def test_user_password_missing_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/password' % (URL, self.tenant, self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.missing_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_password_xml(self.tenant, \ + self.user, \ + str(self.missing_token)) resp_val = int(resp['status']) content = etree.fromstring(content) if resp_val == 500: @@ -1410,56 +1133,45 @@ class set_password_test(user_test): elif resp_val == 503: self.fail('Service Not Available') self.assertEqual(401, resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) class set_enabled_test(user_test): - def test_user_enabled_json(self): - h = httplib2.Http(".cache") - resp, content = create_user(self.tenant,self.user, - str(self.auth_token)) - url = '%stenants/%s/users/%s/enabled' % (URL, self.tenant, self.user) - data = {"user": { "enabled": True}} - resp, content = h.request(url, "PUT", body=json.dumps(data), - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) + def test_user_enabled(self): + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_enabled_json(self.tenant, \ + self.user, \ + str(self.auth_token)) resp_val = int(resp['status']) - content = json.loads(content) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - delete_user(self.tenant, self.user, str(self.auth_token)) + utils.delete_user(self.tenant, self.user, str(self.auth_token)) self.assertEqual(200, resp_val) self.assertEqual(True, content['user']['enabled']) def test_user_enabled_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user_xml(self.tenant,self.user, str(self.auth_token)) - url = '%stenants/%s/users/%s/enabled' % (URL, self.tenant, self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_enabled_xml(self.tenant, \ + self.user, \ + str(self.auth_token)) resp_val = int(resp['status']) content = etree.fromstring(content) if resp_val == 500: self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - delete_user(self.tenant,self.user, str(self.auth_token)) + utils.delete_user(self.tenant, self.user, str(self.auth_token)) self.assertEqual(200, resp_val) - self.assertEqual('true',content.get("enabled")) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('true', content.get("enabled")) + self.assertEqual('application/xml', utils.content_type(resp)) def test_user_enabled_bad_request_json(self): h = httplib2.Http(".cache") - resp, content = create_user(self.tenant,self.user, + utils.create_user(self.tenant, self.user, \ str(self.auth_token)) url = '%stenants/%s/users/%s/enabled' % (URL, self.tenant, self.user) data = '{"user_bad": { "enabled": true}}' @@ -1472,12 +1184,12 @@ class set_enabled_test(user_test): self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - delete_user(self.tenant,self.user, str(self.auth_token)) + utils.delete_user(self.tenant, self.user, str(self.auth_token)) self.assertEqual(400, resp_val) def test_user_enabled_bad_request_xml(self): h = httplib2.Http(".cache") - resp, content = create_user_xml(self.tenant,self.user, + utils.create_user_xml(self.tenant, self.user, \ str(self.auth_token)) url = '%stenants/%s/users/%s/enabled' % (URL, self.tenant, self.user) data = ' \ @@ -1493,18 +1205,15 @@ class set_enabled_test(user_test): self.fail('IDM fault') elif resp_val == 503: self.fail('Service Not Available') - delete_user(self.tenant,self.user, str(self.auth_token)) + utils.delete_user(self.tenant, self.user, str(self.auth_token)) self.assertEqual(400, resp_val) - self.assertEqual('application/xml', content_type(resp)) - + self.assertEqual('application/xml', utils.content_type(resp)) - def test_user_enabled_expired_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/enabled' % (URL, self.tenant, self.user) - data = '{"user": { "enabled": true}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.exp_auth_token}) + def test_user_enabled_expired_token(self): + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_enabled_json(self.tenant, \ + self.user, \ + str(self.exp_auth_token)) resp_val = int(resp['status']) content = json.loads(content) if resp_val == 500: @@ -1514,15 +1223,10 @@ class set_enabled_test(user_test): self.assertEqual(403, resp_val) def test_user_enabled_expired_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/enabled' % (URL, self.tenant, self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_enabled_xml(self.tenant, \ + self.user, \ + str(self.exp_auth_token)) resp_val = int(resp['status']) content = etree.fromstring(content) if resp_val == 500: @@ -1530,15 +1234,13 @@ class set_enabled_test(user_test): elif resp_val == 503: self.fail('Service Not Available') self.assertEqual(403, resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) - def test_user_enabled_disabled_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/enabled' % (URL, self.tenant, self.user) - data = '{"user": { "enabled": true}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.disabled_token}) + def test_user_enabled_disabled_token(self): + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_enabled_json(self.tenant, \ + self.user, \ + str(self.disabled_token)) resp_val = int(resp['status']) content = json.loads(content) if resp_val == 500: @@ -1548,15 +1250,10 @@ class set_enabled_test(user_test): self.assertEqual(403, resp_val) def test_user_enabled_disabled_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/enabled' % (URL, self.tenant, self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.disabled_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_enabled_xml(self.tenant, \ + self.user, \ + str(self.disabled_token)) resp_val = int(resp['status']) content = etree.fromstring(content) if resp_val == 500: @@ -1564,15 +1261,13 @@ class set_enabled_test(user_test): elif resp_val == 503: self.fail('Service Not Available') self.assertEqual(403, resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) - def test_user_enabled_invalid_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/enabled' % (URL, self.tenant, self.user) - data = '{"user": { "enabled": true}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.invalid_token}) + def test_user_enabled_invalid_token(self): + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_enabled_json(self.tenant, \ + self.user, \ + str(self.invalid_token)) resp_val = int(resp['status']) content = json.loads(content) if resp_val == 500: @@ -1582,15 +1277,10 @@ class set_enabled_test(user_test): self.assertEqual(404, resp_val) def test_user_enabled_invalid_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/enabled' % (URL, self.tenant, self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.invalid_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_enabled_xml(self.tenant, \ + self.user, \ + str(self.invalid_token)) resp_val = int(resp['status']) content = etree.fromstring(content) if resp_val == 500: @@ -1598,15 +1288,13 @@ class set_enabled_test(user_test): elif resp_val == 503: self.fail('Service Not Available') self.assertEqual(404, resp_val) - self.assertEqual('application/xml', content_type(resp)) + self.assertEqual('application/xml', utils.content_type(resp)) - def test_user_enabled_missing_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/enabled' % (URL, self.tenant, self.user) - data = '{"user": { "enabled": true}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.missing_token}) + def test_user_enabled_missing_token(self): + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_enabled_json(self.tenant, \ + self.user, \ + str(self.missing_token)) resp_val = int(resp['status']) content = json.loads(content) if resp_val == 500: @@ -1616,15 +1304,10 @@ class set_enabled_test(user_test): self.assertEqual(401, resp_val) def test_user_enabled_missing_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/password' % (URL,self.tenant,self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.missing_token, - "ACCEPT": "application/xml"}) + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_enabled_xml(self.tenant, \ + self.user, \ + str(self.missing_token)) resp_val = int(resp['status']) content = etree.fromstring(content) if resp_val == 500: @@ -1632,7 +1315,6 @@ class set_enabled_test(user_test): elif resp_val == 503: self.fail('Service Not Available') self.assertEqual(401, resp_val) - self.assertEqual('application/xml', content_type(resp)) - + self.assertEqual('application/xml', utils.content_type(resp)) if __name__ == '__main__': - unittest.main() \ No newline at end of file + unittest.main() -- cgit From 77989598aed6f0077a4ffcab35ecd6f9ae675ee3 Mon Sep 17 00:00:00 2001 From: jabdul Date: Fri, 13 May 2011 11:28:22 +0530 Subject: Pep8 test_users.py --- test/unit/test_users.py | 374 ++++++++++++++++++++++++------------------------ 1 file changed, 187 insertions(+), 187 deletions(-) diff --git a/test/unit/test_users.py b/test/unit/test_users.py index 0b84d3fb..bd5200ac 100644 --- a/test/unit/test_users.py +++ b/test/unit/test_users.py @@ -37,19 +37,19 @@ class create_user_test(user_test): def test_a_user_create_json(self): utils.delete_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.create_user(self.tenant, self.user, \ + resp, content = utils.create_user(self.tenant, self.user, str(self.auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(201, resp_val) def test_a_user_create_xml(self): utils.delete_user_xml(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.create_user_xml(self.tenant, self.user, \ + resp, content = utils.create_user_xml(self.tenant, self.user, str(self.auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(201, resp_val) self.assertEqual('application/xml', utils.content_type(resp)) @@ -58,105 +58,105 @@ class create_user_test(user_test): resp, content = utils.create_user('0000', self.user, str(self.auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, resp_val) def test_a_user_create_json_disabled_tenant_xml(self): - resp, content = utils.create_user_xml('0000', self.user, \ + resp, content = utils.create_user_xml('0000', self.user, str(self.auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, resp_val) self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_again_json(self): - resp, content = utils.create_user(self.tenant, self.user, \ + resp, content = utils.create_user(self.tenant, self.user, str(self.auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) - resp, content = utils.create_user(self.tenant, self.user, \ + resp, content = utils.create_user(self.tenant, self.user, str(self.auth_token)) self.assertEqual(409, int(resp['status'])) def test_a_user_again_xml(self): - utils.create_user_xml(self.tenant, self.user, \ + utils.create_user_xml(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.create_user_xml(self.tenant, self.user, \ + resp, content = utils.create_user_xml(self.tenant, self.user, str(self.auth_token)) content = etree.fromstring(content) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(409, int(resp['status'])) self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_create_expired_token(self): - resp, content = utils.create_user(self.tenant, self.user, \ + resp, content = utils.create_user(self.tenant, self.user, str(self.exp_auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, int(resp['status'])) def test_a_user_create_expired_token_xml(self): - resp, content = utils.create_user_xml(self.tenant, self.user, \ + resp, content = utils.create_user_xml(self.tenant, self.user, str(self.exp_auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, int(resp['status'])) self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_create_disabled_token(self): - resp, content = utils.create_user(self.tenant, self.user, \ + resp, content = utils.create_user(self.tenant, self.user, str(self.disabled_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, int(resp['status'])) def test_a_user_create_disabled_token_xml(self): - resp, content = utils.create_user_xml(self.tenant, self.user, \ + resp, content = utils.create_user_xml(self.tenant, self.user, str(self.disabled_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, int(resp['status'])) self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_create_missing_token(self): - resp, content = utils.create_user(self.tenant, self.user, \ + resp, content = utils.create_user(self.tenant, self.user, str(self.missing_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(401, int(resp['status'])) def test_a_user_create_missing_token_xml(self): - resp, content = utils.create_user_xml(self.tenant, self.user, \ + resp, content = utils.create_user_xml(self.tenant, self.user, str(self.missing_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(401, int(resp['status'])) self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_create_invalid_token(self): - resp, content = utils.create_user(self.tenant, self.user, \ + resp, content = utils.create_user(self.tenant, self.user, str(self.invalid_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(404, int(resp['status'])) def test_a_user_create_invalid_token_xml(self): - resp, content = utils.create_user_xml(self.tenant, self.user, \ + resp, content = utils.create_user_xml(self.tenant, self.user, str(self.invalid_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(404, int(resp['status'])) self.assertEqual('application/xml', utils.content_type(resp)) @@ -166,149 +166,149 @@ class get_user_test(user_test): def test_a_user_get(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_json(self.tenant, self.user, \ + resp, content = utils.user_get_json(self.tenant, self.user, str(self.auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(200, resp_val) def test_a_user_get_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_xml(self.tenant, self.user, \ + resp, content = utils.user_get_xml(self.tenant, self.user, str(self.auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(200, resp_val) self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_get_expired_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_json(self.tenant, self.user, \ + resp, content = utils.user_get_json(self.tenant, self.user, str(self.exp_auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, resp_val) def test_a_user_get_expired_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_xml(self.tenant, self.user, \ + resp, content = utils.user_get_xml(self.tenant, self.user, str(self.exp_auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, resp_val) self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_get_disabled_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_json(self.tenant, \ - self.user, \ + resp, content = utils.user_get_json(self.tenant, + self.user, str(self.disabled_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, resp_val) def test_a_user_get_disabled_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_get_xml(self.tenant, + self.user, str(self.disabled_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, resp_val) self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_get_missing_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_json(self.tenant, \ - self.user, \ + resp, content = utils.user_get_json(self.tenant, + self.user, str(self.missing_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(401, resp_val) def test_a_user_get_missing_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_xml(self.tenant, self.user, \ + resp, content = utils.user_get_xml(self.tenant, self.user, str(self.missing_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(401, resp_val) self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_get_invalid_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_json(self.tenant, self.user, \ + resp, content = utils.user_get_json(self.tenant, self.user, str(self.invalid_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(404, resp_val) def test_a_user_get_invalid_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_xml(self.tenant, self.user, \ + resp, content = utils.user_get_xml(self.tenant, self.user, str(self.invalid_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(404, resp_val) self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_get_disabled_user(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_json(self.tenant, \ - self.userdisabled, \ + resp, content = utils.user_get_json(self.tenant, + self.userdisabled, str(self.auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, resp_val) def test_a_user_get_disabled_user_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_xml(self.tenant, self.userdisabled, \ + resp, content = utils.user_get_xml(self.tenant, self.userdisabled, str(self.auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, resp_val) self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_get_disabled_tenant(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_json('0000', self.user, \ + resp, content = utils.user_get_json('0000', self.user, str(self.auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, resp_val) def test_a_user_get_disabled_tenant_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_xml('0000', self.user, \ + resp, content = utils.user_get_xml('0000', self.user, str(self.auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, resp_val) - self.assertEqual('application/xml', \ + self.assertEqual('application/xml', utils.content_type(resp)) class delete_user_test(user_test): def test_a_user_delete(self): - utils.create_user(self.tenant, self.user, \ + utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp = utils.delete_user(self.tenant, self.user, \ + resp = utils.delete_user(self.tenant, self.user, str(self.auth_token)) resp_val = int(resp['status']) if resp_val == 500: @@ -318,9 +318,9 @@ class delete_user_test(user_test): self.assertEqual(204, resp_val) def test_a_user_delete_xml(self): - utils.create_user(self.tenant, self.user, \ + utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp = utils.delete_user_xml(self.tenant, self.user, \ + resp = utils.delete_user_xml(self.tenant, self.user, str(self.auth_token)) resp_val = int(resp['status']) if resp_val == 500: @@ -330,9 +330,9 @@ class delete_user_test(user_test): self.assertEqual(204, resp_val) def test_a_user_delete_expired_token(self): - utils.create_user(self.tenant, self.user, \ + utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp = utils.delete_user(self.tenant, self.user, \ + resp = utils.delete_user(self.tenant, self.user, str(self.exp_auth_token)) resp_val = int(resp['status']) if resp_val == 500: @@ -342,9 +342,9 @@ class delete_user_test(user_test): self.assertEqual(403, resp_val) def test_a_user_delete_expired_token_xml(self): - utils.create_user(self.tenant, self.user, \ + utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp = utils.delete_user_xml(self.tenant, self.user, \ + resp = utils.delete_user_xml(self.tenant, self.user, str(self.exp_auth_token)) resp_val = int(resp['status']) if resp_val == 500: @@ -355,9 +355,9 @@ class delete_user_test(user_test): self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_delete_missing_token(self): - utils.create_user(self.tenant, self.user, \ + utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp = utils.delete_user(self.tenant, self.user, \ + resp = utils.delete_user(self.tenant, self.user, str(self.missing_token)) resp_val = int(resp['status']) if resp_val == 500: @@ -367,9 +367,9 @@ class delete_user_test(user_test): self.assertEqual(401, resp_val) def test_a_user_delete_missing_token_xml(self): - utils.create_user(self.tenant, self.user, \ + utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp = utils.delete_user_xml(self.tenant, self.user, \ + resp = utils.delete_user_xml(self.tenant, self.user, str(self.missing_token)) resp_val = int(resp['status']) if resp_val == 500: @@ -380,9 +380,9 @@ class delete_user_test(user_test): self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_delete_invalid_token(self): - utils.create_user(self.tenant, self.user, \ + utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp = utils.delete_user(self.tenant, self.user, \ + resp = utils.delete_user(self.tenant, self.user, str(self.invalid_token)) resp_val = int(resp['status']) if resp_val == 500: @@ -392,9 +392,9 @@ class delete_user_test(user_test): self.assertEqual(404, resp_val) def test_a_user_delete_invalid_token_xml(self): - utils.create_user(self.tenant, self.user, \ + utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp = utils.delete_user_xml(self.tenant, self.user, \ + resp = utils.delete_user_xml(self.tenant, self.user, str(self.invalid_token)) resp_val = int(resp['status']) if resp_val == 500: @@ -405,9 +405,9 @@ class delete_user_test(user_test): self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_delete_disabled_tenant(self): - utils.create_user(self.tenant, self.user, \ + utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp = utils.delete_user("0000", self.user, \ + resp = utils.delete_user("0000", self.user, str(self.auth_token)) resp_val = int(resp['status']) if resp_val == 500: @@ -417,9 +417,9 @@ class delete_user_test(user_test): self.assertEqual(403, resp_val) def test_a_user_delete_disabled_tenant_xml(self): - utils.create_user(self.tenant, self.user, \ + utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp = utils.delete_user_xml("0000", self.user, \ + resp = utils.delete_user_xml("0000", self.user, str(self.auth_token)) resp_val = int(resp['status']) if resp_val == 500: @@ -550,8 +550,8 @@ class get_users_test(user_test): class get_users_group_test(user_test): def test_users_group_get(self): - resp, content = utils.users_group_get_json(self.tenant, \ - self.user, \ + resp, content = utils.users_group_get_json(self.tenant, + self.user, self.auth_token) resp_val = int(resp['status']) if resp_val == 500: @@ -561,8 +561,8 @@ class get_users_group_test(user_test): self.assertEqual(200, resp_val) def test_users_group_get_xml(self): - resp, content = utils.users_group_get_xml(self.tenant, \ - self.user, \ + resp, content = utils.users_group_get_xml(self.tenant, + self.user, self.auth_token) resp_val = int(resp['status']) if resp_val == 500: @@ -573,8 +573,8 @@ class get_users_group_test(user_test): self.assertEqual('application/xml', utils.content_type(resp)) def test_users_group_get_expired_token(self): - resp, content = utils.users_group_get_json(self.tenant, \ - self.user, \ + resp, content = utils.users_group_get_json(self.tenant, + self.user, self.exp_auth_token) resp_val = int(resp['status']) if resp_val == 500: @@ -584,8 +584,8 @@ class get_users_group_test(user_test): self.assertEqual(403, resp_val) def test_users_group_get_expired_token_xml(self): - resp, content = utils.users_group_get_xml(self.tenant, \ - self.user, \ + resp, content = utils.users_group_get_xml(self.tenant, + self.user, self.exp_auth_token) resp_val = int(resp['status']) if resp_val == 500: @@ -596,8 +596,8 @@ class get_users_group_test(user_test): self.assertEqual('application/xml', utils.content_type(resp)) def test_users_group_get_disabled_token(self): - resp, content = utils.users_group_get_json(self.tenant, \ - self.user, \ + resp, content = utils.users_group_get_json(self.tenant, + self.user, self.disabled_token) resp_val = int(resp['status']) if resp_val == 500: @@ -607,8 +607,8 @@ class get_users_group_test(user_test): self.assertEqual(403, resp_val) def test_users_group_get_disabled_token_xml(self): - resp, content = utils.users_group_get_xml(self.tenant, \ - self.user, \ + resp, content = utils.users_group_get_xml(self.tenant, + self.user, self.disabled_token) resp_val = int(resp['status']) if resp_val == 500: @@ -619,8 +619,8 @@ class get_users_group_test(user_test): self.assertEqual('application/xml', utils.content_type(resp)) def test_users_group_get_missing_token(self): - resp, content = utils.users_group_get_json(self.tenant, \ - self.user, \ + resp, content = utils.users_group_get_json(self.tenant, + self.user, self.missing_token) resp_val = int(resp['status']) if resp_val == 500: @@ -630,8 +630,8 @@ class get_users_group_test(user_test): self.assertEqual(401, resp_val) def test_users_group_get_missing_token_xml(self): - resp, content = utils.users_group_get_xml(self.tenant, \ - self.user, \ + resp, content = utils.users_group_get_xml(self.tenant, + self.user, self.missing_token) resp_val = int(resp['status']) if resp_val == 500: @@ -642,8 +642,8 @@ class get_users_group_test(user_test): self.assertEqual('application/xml', utils.content_type(resp)) def test_users_group_get_invalid_token(self): - resp, content = utils.users_group_get_json(self.tenant, \ - self.user, \ + resp, content = utils.users_group_get_json(self.tenant, + self.user, self.invalid_token) resp_val = int(resp['status']) if resp_val == 500: @@ -653,8 +653,8 @@ class get_users_group_test(user_test): self.assertEqual(404, resp_val) def test_users_group_get_invalid_token_xml(self): - resp, content = utils.users_group_get_xml(self.tenant, \ - self.user, \ + resp, content = utils.users_group_get_xml(self.tenant, + self.user, self.invalid_token) resp_val = int(resp['status']) if resp_val == 500: @@ -665,8 +665,8 @@ class get_users_group_test(user_test): self.assertEqual('application/xml', utils.content_type(resp)) def test_users_group_get_disabled_tenant(self): - resp, content = utils.users_group_get_json('0000', \ - self.user, \ + resp, content = utils.users_group_get_json('0000', + self.user, self.auth_token) resp_val = int(resp['status']) if resp_val == 500: @@ -676,8 +676,8 @@ class get_users_group_test(user_test): self.assertEqual(403, resp_val) def test_users_group_get_disabled_tenant_xml(self): - resp, content = utils.users_group_get_xml('0000', \ - self.user, \ + resp, content = utils.users_group_get_xml('0000', + self.user, self.auth_token) resp_val = int(resp['status']) if resp_val == 500: @@ -692,7 +692,7 @@ class update_user_test(user_test): def test_user_update(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_json(self.tenant, self.user,\ + resp, content = utils.user_update_json(self.tenant, self.user, self.auth_token) resp_val = int(resp['status']) content = json.loads(content) @@ -702,12 +702,12 @@ class update_user_test(user_test): self.fail('Service Not Available') utils.delete_user(self.tenant, self.user, str(self.auth_token)) self.assertEqual(200, resp_val) - self.assertEqual('updatedjoeuser@rackspace.com', \ + self.assertEqual('updatedjoeuser@rackspace.com', content['user']['email']) def test_user_update_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_xml(self.tenant, self.user, \ + resp, content = utils.user_update_xml(self.tenant, self.user, self.auth_token) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -717,14 +717,14 @@ class update_user_test(user_test): self.fail('Service Not Available') utils.delete_user(self.tenant, self.user, str(self.auth_token)) self.assertEqual(200, resp_val) - self.assertEqual('updatedjoeuser@rackspace.com', \ + self.assertEqual('updatedjoeuser@rackspace.com', content.get("email")) self.assertEqual('application/xml', utils.content_type(resp)) def test_user_update_user_disabled(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_json(self.tenant, \ - self.userdisabled, \ + resp, content = utils.user_update_json(self.tenant, + self.userdisabled, self.auth_token) resp_val = int(resp['status']) content = json.loads(content) @@ -736,8 +736,8 @@ class update_user_test(user_test): def test_user_update_user_disabled_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_xml(self.tenant, \ - self.userdisabled, \ + resp, content = utils.user_update_xml(self.tenant, + self.userdisabled, self.auth_token) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -750,9 +750,9 @@ class update_user_test(user_test): def test_user_update_email_conflict(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_json(self.tenant, \ - self.user, \ - self.auth_token,\ + resp, content = utils.user_update_json(self.tenant, + self.user, + self.auth_token, "joe@rackspace.com") resp_val = int(resp['status']) content = json.loads(content) @@ -764,9 +764,9 @@ class update_user_test(user_test): def test_user_update_email_conflict_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_xml(self.tenant, \ - self.user, \ - self.auth_token, \ + resp, content = utils.user_update_xml(self.tenant, + self.user, + self.auth_token, "joe@rackspace.com") resp_val = int(resp['status']) content = etree.fromstring(content) @@ -779,7 +779,7 @@ class update_user_test(user_test): def test_user_update_bad_request_json(self): h = httplib2.Http(".cache") - resp, content = utils.create_user(self.tenant, self.user, \ + resp, content = utils.create_user(self.tenant, self.user, str(self.auth_token)) url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) data = '{"user_bad": { "bad": "updatedjoeuser@rackspace.com"}}' @@ -797,7 +797,7 @@ class update_user_test(user_test): def test_user_update_bad_request_xml(self): h = httplib2.Http(".cache") - resp, content = utils.create_user_xml(self.tenant, self.user, \ + resp, content = utils.create_user_xml(self.tenant, self.user, str(self.auth_token)) url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) data = ' \ @@ -819,8 +819,8 @@ class update_user_test(user_test): def test_user_update_expired_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_json(self.tenant, \ - self.user, \ + resp, content = utils.user_update_json(self.tenant, + self.user, self.exp_auth_token) resp_val = int(resp['status']) content = json.loads(content) @@ -832,8 +832,8 @@ class update_user_test(user_test): def test_user_update_expired_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_update_xml(self.tenant, + self.user, self.exp_auth_token) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -846,8 +846,8 @@ class update_user_test(user_test): def test_user_update_disabled_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_json(self.tenant, \ - self.user, \ + resp, content = utils.user_update_json(self.tenant, + self.user, self.disabled_token) resp_val = int(resp['status']) content = json.loads(content) @@ -859,8 +859,8 @@ class update_user_test(user_test): def test_user_update_disabled_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_update_xml(self.tenant, + self.user, self.disabled_token) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -873,8 +873,8 @@ class update_user_test(user_test): def test_user_update_invalid_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_json(self.tenant, \ - self.user, \ + resp, content = utils.user_update_json(self.tenant, + self.user, self.invalid_token) resp_val = int(resp['status']) content = json.loads(content) @@ -886,8 +886,8 @@ class update_user_test(user_test): def test_user_update_invalid_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_update_xml(self.tenant, + self.user, self.invalid_token) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -900,8 +900,8 @@ class update_user_test(user_test): def test_user_update_missing_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_json(self.tenant, \ - self.user, \ + resp, content = utils.user_update_json(self.tenant, + self.user, self.missing_token) resp_val = int(resp['status']) content = json.loads(content) @@ -913,8 +913,8 @@ class update_user_test(user_test): def test_user_update_missing_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_update_xml(self.tenant, + self.user, self.missing_token) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -930,8 +930,8 @@ class set_password_test(user_test): def test_user_password(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_password_json(self.tenant, \ - self.user, \ + resp, content = utils.user_password_json(self.tenant, + self.user, str(self.auth_token)) resp_val = int(resp['status']) content = json.loads(content) @@ -945,8 +945,8 @@ class set_password_test(user_test): def test_user_password_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_password_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_password_xml(self.tenant, + self.user, str(self.auth_token)) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -961,8 +961,8 @@ class set_password_test(user_test): def test_user_password_user_disabled(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_password_json(self.tenant, \ - self.userdisabled, \ + resp, content = utils.user_password_json(self.tenant, + self.userdisabled, str(self.auth_token)) resp_val = int(resp['status']) content = json.loads(content) @@ -974,8 +974,8 @@ class set_password_test(user_test): def test_user_password_user_disabled_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_password_xml(self.tenant, \ - self.userdisabled, \ + resp, content = utils.user_password_xml(self.tenant, + self.userdisabled, str(self.auth_token)) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -988,7 +988,7 @@ class set_password_test(user_test): def test_user_password_bad_request_json(self): h = httplib2.Http(".cache") - utils.create_user(self.tenant, self.user, \ + utils.create_user(self.tenant, self.user, str(self.auth_token)) url = '%stenants/%s/users/%s/password' % (URL, self.tenant, self.user) data = '{"user_bad": { "password": "p@ssword"}}' @@ -1027,8 +1027,8 @@ class set_password_test(user_test): def test_user_password_expired_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_password_json(self.tenant, \ - self.user, \ + resp, content = utils.user_password_json(self.tenant, + self.user, str(self.exp_auth_token)) resp_val = int(resp['status']) content = json.loads(content) @@ -1040,8 +1040,8 @@ class set_password_test(user_test): def test_user_password_expired_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_password_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_password_xml(self.tenant, + self.user, str(self.exp_auth_token)) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -1054,8 +1054,8 @@ class set_password_test(user_test): def test_user_password_disabled_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_password_json(self.tenant, \ - self.user, \ + resp, content = utils.user_password_json(self.tenant, + self.user, str(self.disabled_token)) resp_val = int(resp['status']) content = json.loads(content) @@ -1067,8 +1067,8 @@ class set_password_test(user_test): def test_user_password_disabled_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_password_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_password_xml(self.tenant, + self.user, str(self.disabled_token)) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -1080,11 +1080,11 @@ class set_password_test(user_test): self.assertEqual('application/xml', utils.content_type(resp)) def test_user_password_invalid_token(self): - utils.create_user(self.tenant, \ - self.user, \ + utils.create_user(self.tenant, + self.user, str(self.auth_token)) - resp, content = utils.user_password_json(self.tenant, \ - self.user, \ + resp, content = utils.user_password_json(self.tenant, + self.user, str(self.invalid_token)) resp_val = int(resp['status']) content = json.loads(content) @@ -1096,8 +1096,8 @@ class set_password_test(user_test): def test_user_password_invalid_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_password_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_password_xml(self.tenant, + self.user, str(self.invalid_token)) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -1110,8 +1110,8 @@ class set_password_test(user_test): def test_user_password_missing_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_password_json(self.tenant, \ - self.user, \ + resp, content = utils.user_password_json(self.tenant, + self.user, str(self.missing_token)) resp_val = int(resp['status']) content = json.loads(content) @@ -1123,8 +1123,8 @@ class set_password_test(user_test): def test_user_password_missing_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_password_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_password_xml(self.tenant, + self.user, str(self.missing_token)) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -1140,8 +1140,8 @@ class set_enabled_test(user_test): def test_user_enabled(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_enabled_json(self.tenant, \ - self.user, \ + resp, content = utils.user_enabled_json(self.tenant, + self.user, str(self.auth_token)) resp_val = int(resp['status']) content = json.loads(content) @@ -1155,8 +1155,8 @@ class set_enabled_test(user_test): def test_user_enabled_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_enabled_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_enabled_xml(self.tenant, + self.user, str(self.auth_token)) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -1171,7 +1171,7 @@ class set_enabled_test(user_test): def test_user_enabled_bad_request_json(self): h = httplib2.Http(".cache") - utils.create_user(self.tenant, self.user, \ + utils.create_user(self.tenant, self.user, str(self.auth_token)) url = '%stenants/%s/users/%s/enabled' % (URL, self.tenant, self.user) data = '{"user_bad": { "enabled": true}}' @@ -1189,7 +1189,7 @@ class set_enabled_test(user_test): def test_user_enabled_bad_request_xml(self): h = httplib2.Http(".cache") - utils.create_user_xml(self.tenant, self.user, \ + utils.create_user_xml(self.tenant, self.user, str(self.auth_token)) url = '%stenants/%s/users/%s/enabled' % (URL, self.tenant, self.user) data = ' \ @@ -1211,8 +1211,8 @@ class set_enabled_test(user_test): def test_user_enabled_expired_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_enabled_json(self.tenant, \ - self.user, \ + resp, content = utils.user_enabled_json(self.tenant, + self.user, str(self.exp_auth_token)) resp_val = int(resp['status']) content = json.loads(content) @@ -1224,8 +1224,8 @@ class set_enabled_test(user_test): def test_user_enabled_expired_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_enabled_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_enabled_xml(self.tenant, + self.user, str(self.exp_auth_token)) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -1238,8 +1238,8 @@ class set_enabled_test(user_test): def test_user_enabled_disabled_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_enabled_json(self.tenant, \ - self.user, \ + resp, content = utils.user_enabled_json(self.tenant, + self.user, str(self.disabled_token)) resp_val = int(resp['status']) content = json.loads(content) @@ -1251,8 +1251,8 @@ class set_enabled_test(user_test): def test_user_enabled_disabled_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_enabled_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_enabled_xml(self.tenant, + self.user, str(self.disabled_token)) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -1265,8 +1265,8 @@ class set_enabled_test(user_test): def test_user_enabled_invalid_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_enabled_json(self.tenant, \ - self.user, \ + resp, content = utils.user_enabled_json(self.tenant, + self.user, str(self.invalid_token)) resp_val = int(resp['status']) content = json.loads(content) @@ -1278,8 +1278,8 @@ class set_enabled_test(user_test): def test_user_enabled_invalid_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_enabled_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_enabled_xml(self.tenant, + self.user, str(self.invalid_token)) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -1292,8 +1292,8 @@ class set_enabled_test(user_test): def test_user_enabled_missing_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_enabled_json(self.tenant, \ - self.user, \ + resp, content = utils.user_enabled_json(self.tenant, + self.user, str(self.missing_token)) resp_val = int(resp['status']) content = json.loads(content) @@ -1305,8 +1305,8 @@ class set_enabled_test(user_test): def test_user_enabled_missing_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_enabled_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_enabled_xml(self.tenant, + self.user, str(self.missing_token)) resp_val = int(resp['status']) content = etree.fromstring(content) -- cgit From 334d985be7e8333017eb366b743781f7724fdec5 Mon Sep 17 00:00:00 2001 From: "sirish.bitra" Date: Fri, 13 May 2011 17:11:40 +0530 Subject: fixes --- test/unit/test_users.py | 374 ++++++++++++++++++++++++------------------------ 1 file changed, 186 insertions(+), 188 deletions(-) diff --git a/test/unit/test_users.py b/test/unit/test_users.py index 0b84d3fb..2388ef82 100644 --- a/test/unit/test_users.py +++ b/test/unit/test_users.py @@ -4,12 +4,10 @@ import sys sys.path.append(os.path.abspath(os.path.join(os.path.abspath(__file__), '..', '..', '..', '..', 'keystone'))) import unittest -from webtest import TestApp import httplib2 import json from lxml import etree -import unittest -from webtest import TestApp + import test_common as utils from test_common import URL @@ -37,19 +35,19 @@ class create_user_test(user_test): def test_a_user_create_json(self): utils.delete_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.create_user(self.tenant, self.user, \ + resp, content = utils.create_user(self.tenant, self.user, str(self.auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(201, resp_val) def test_a_user_create_xml(self): utils.delete_user_xml(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.create_user_xml(self.tenant, self.user, \ + resp, content = utils.create_user_xml(self.tenant, self.user, str(self.auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(201, resp_val) self.assertEqual('application/xml', utils.content_type(resp)) @@ -58,105 +56,105 @@ class create_user_test(user_test): resp, content = utils.create_user('0000', self.user, str(self.auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, resp_val) def test_a_user_create_json_disabled_tenant_xml(self): - resp, content = utils.create_user_xml('0000', self.user, \ + resp, content = utils.create_user_xml('0000', self.user, str(self.auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, resp_val) self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_again_json(self): - resp, content = utils.create_user(self.tenant, self.user, \ + resp, content = utils.create_user(self.tenant, self.user, str(self.auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) - resp, content = utils.create_user(self.tenant, self.user, \ + resp, content = utils.create_user(self.tenant, self.user, str(self.auth_token)) self.assertEqual(409, int(resp['status'])) def test_a_user_again_xml(self): - utils.create_user_xml(self.tenant, self.user, \ + utils.create_user_xml(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.create_user_xml(self.tenant, self.user, \ + resp, content = utils.create_user_xml(self.tenant, self.user, str(self.auth_token)) content = etree.fromstring(content) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(409, int(resp['status'])) self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_create_expired_token(self): - resp, content = utils.create_user(self.tenant, self.user, \ + resp, content = utils.create_user(self.tenant, self.user, str(self.exp_auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, int(resp['status'])) def test_a_user_create_expired_token_xml(self): - resp, content = utils.create_user_xml(self.tenant, self.user, \ + resp, content = utils.create_user_xml(self.tenant, self.user, str(self.exp_auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, int(resp['status'])) self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_create_disabled_token(self): - resp, content = utils.create_user(self.tenant, self.user, \ + resp, content = utils.create_user(self.tenant, self.user, str(self.disabled_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, int(resp['status'])) def test_a_user_create_disabled_token_xml(self): - resp, content = utils.create_user_xml(self.tenant, self.user, \ + resp, content = utils.create_user_xml(self.tenant, self.user, str(self.disabled_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, int(resp['status'])) self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_create_missing_token(self): - resp, content = utils.create_user(self.tenant, self.user, \ + resp, content = utils.create_user(self.tenant, self.user, str(self.missing_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(401, int(resp['status'])) def test_a_user_create_missing_token_xml(self): - resp, content = utils.create_user_xml(self.tenant, self.user, \ + resp, content = utils.create_user_xml(self.tenant, self.user, str(self.missing_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(401, int(resp['status'])) self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_create_invalid_token(self): - resp, content = utils.create_user(self.tenant, self.user, \ + resp, content = utils.create_user(self.tenant, self.user, str(self.invalid_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(404, int(resp['status'])) def test_a_user_create_invalid_token_xml(self): - resp, content = utils.create_user_xml(self.tenant, self.user, \ + resp, content = utils.create_user_xml(self.tenant, self.user, str(self.invalid_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(404, int(resp['status'])) self.assertEqual('application/xml', utils.content_type(resp)) @@ -166,149 +164,149 @@ class get_user_test(user_test): def test_a_user_get(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_json(self.tenant, self.user, \ + resp, content = utils.user_get_json(self.tenant, self.user, str(self.auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(200, resp_val) def test_a_user_get_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_xml(self.tenant, self.user, \ + resp, content = utils.user_get_xml(self.tenant, self.user, str(self.auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(200, resp_val) self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_get_expired_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_json(self.tenant, self.user, \ + resp, content = utils.user_get_json(self.tenant, self.user, str(self.exp_auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, resp_val) def test_a_user_get_expired_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_xml(self.tenant, self.user, \ + resp, content = utils.user_get_xml(self.tenant, self.user, str(self.exp_auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, resp_val) self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_get_disabled_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_json(self.tenant, \ - self.user, \ + resp, content = utils.user_get_json(self.tenant, + self.user, str(self.disabled_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, resp_val) def test_a_user_get_disabled_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_get_xml(self.tenant, + self.user, str(self.disabled_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, resp_val) self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_get_missing_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_json(self.tenant, \ - self.user, \ + resp, content = utils.user_get_json(self.tenant, + self.user, str(self.missing_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(401, resp_val) def test_a_user_get_missing_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_xml(self.tenant, self.user, \ + resp, content = utils.user_get_xml(self.tenant, self.user, str(self.missing_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(401, resp_val) self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_get_invalid_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_json(self.tenant, self.user, \ + resp, content = utils.user_get_json(self.tenant, self.user, str(self.invalid_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(404, resp_val) def test_a_user_get_invalid_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_xml(self.tenant, self.user, \ + resp, content = utils.user_get_xml(self.tenant, self.user, str(self.invalid_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(404, resp_val) self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_get_disabled_user(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_json(self.tenant, \ - self.userdisabled, \ + resp, content = utils.user_get_json(self.tenant, + self.userdisabled, str(self.auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, resp_val) def test_a_user_get_disabled_user_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_xml(self.tenant, self.userdisabled, \ + resp, content = utils.user_get_xml(self.tenant, self.userdisabled, str(self.auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, resp_val) self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_get_disabled_tenant(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_json('0000', self.user, \ + resp, content = utils.user_get_json('0000', self.user, str(self.auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, resp_val) def test_a_user_get_disabled_tenant_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_get_xml('0000', self.user, \ + resp, content = utils.user_get_xml('0000', self.user, str(self.auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, \ + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, resp_val) - self.assertEqual('application/xml', \ + self.assertEqual('application/xml', utils.content_type(resp)) class delete_user_test(user_test): def test_a_user_delete(self): - utils.create_user(self.tenant, self.user, \ + utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp = utils.delete_user(self.tenant, self.user, \ + resp = utils.delete_user(self.tenant, self.user, str(self.auth_token)) resp_val = int(resp['status']) if resp_val == 500: @@ -318,9 +316,9 @@ class delete_user_test(user_test): self.assertEqual(204, resp_val) def test_a_user_delete_xml(self): - utils.create_user(self.tenant, self.user, \ + utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp = utils.delete_user_xml(self.tenant, self.user, \ + resp = utils.delete_user_xml(self.tenant, self.user, str(self.auth_token)) resp_val = int(resp['status']) if resp_val == 500: @@ -330,9 +328,9 @@ class delete_user_test(user_test): self.assertEqual(204, resp_val) def test_a_user_delete_expired_token(self): - utils.create_user(self.tenant, self.user, \ + utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp = utils.delete_user(self.tenant, self.user, \ + resp = utils.delete_user(self.tenant, self.user, str(self.exp_auth_token)) resp_val = int(resp['status']) if resp_val == 500: @@ -342,9 +340,9 @@ class delete_user_test(user_test): self.assertEqual(403, resp_val) def test_a_user_delete_expired_token_xml(self): - utils.create_user(self.tenant, self.user, \ + utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp = utils.delete_user_xml(self.tenant, self.user, \ + resp = utils.delete_user_xml(self.tenant, self.user, str(self.exp_auth_token)) resp_val = int(resp['status']) if resp_val == 500: @@ -355,9 +353,9 @@ class delete_user_test(user_test): self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_delete_missing_token(self): - utils.create_user(self.tenant, self.user, \ + utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp = utils.delete_user(self.tenant, self.user, \ + resp = utils.delete_user(self.tenant, self.user, str(self.missing_token)) resp_val = int(resp['status']) if resp_val == 500: @@ -367,9 +365,9 @@ class delete_user_test(user_test): self.assertEqual(401, resp_val) def test_a_user_delete_missing_token_xml(self): - utils.create_user(self.tenant, self.user, \ + utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp = utils.delete_user_xml(self.tenant, self.user, \ + resp = utils.delete_user_xml(self.tenant, self.user, str(self.missing_token)) resp_val = int(resp['status']) if resp_val == 500: @@ -380,9 +378,9 @@ class delete_user_test(user_test): self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_delete_invalid_token(self): - utils.create_user(self.tenant, self.user, \ + utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp = utils.delete_user(self.tenant, self.user, \ + resp = utils.delete_user(self.tenant, self.user, str(self.invalid_token)) resp_val = int(resp['status']) if resp_val == 500: @@ -392,9 +390,9 @@ class delete_user_test(user_test): self.assertEqual(404, resp_val) def test_a_user_delete_invalid_token_xml(self): - utils.create_user(self.tenant, self.user, \ + utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp = utils.delete_user_xml(self.tenant, self.user, \ + resp = utils.delete_user_xml(self.tenant, self.user, str(self.invalid_token)) resp_val = int(resp['status']) if resp_val == 500: @@ -405,9 +403,9 @@ class delete_user_test(user_test): self.assertEqual('application/xml', utils.content_type(resp)) def test_a_user_delete_disabled_tenant(self): - utils.create_user(self.tenant, self.user, \ + utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp = utils.delete_user("0000", self.user, \ + resp = utils.delete_user("0000", self.user, str(self.auth_token)) resp_val = int(resp['status']) if resp_val == 500: @@ -417,9 +415,9 @@ class delete_user_test(user_test): self.assertEqual(403, resp_val) def test_a_user_delete_disabled_tenant_xml(self): - utils.create_user(self.tenant, self.user, \ + utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp = utils.delete_user_xml("0000", self.user, \ + resp = utils.delete_user_xml("0000", self.user, str(self.auth_token)) resp_val = int(resp['status']) if resp_val == 500: @@ -550,8 +548,8 @@ class get_users_test(user_test): class get_users_group_test(user_test): def test_users_group_get(self): - resp, content = utils.users_group_get_json(self.tenant, \ - self.user, \ + resp, content = utils.users_group_get_json(self.tenant, + self.user, self.auth_token) resp_val = int(resp['status']) if resp_val == 500: @@ -561,8 +559,8 @@ class get_users_group_test(user_test): self.assertEqual(200, resp_val) def test_users_group_get_xml(self): - resp, content = utils.users_group_get_xml(self.tenant, \ - self.user, \ + resp, content = utils.users_group_get_xml(self.tenant, + self.user, self.auth_token) resp_val = int(resp['status']) if resp_val == 500: @@ -573,8 +571,8 @@ class get_users_group_test(user_test): self.assertEqual('application/xml', utils.content_type(resp)) def test_users_group_get_expired_token(self): - resp, content = utils.users_group_get_json(self.tenant, \ - self.user, \ + resp, content = utils.users_group_get_json(self.tenant, + self.user, self.exp_auth_token) resp_val = int(resp['status']) if resp_val == 500: @@ -584,8 +582,8 @@ class get_users_group_test(user_test): self.assertEqual(403, resp_val) def test_users_group_get_expired_token_xml(self): - resp, content = utils.users_group_get_xml(self.tenant, \ - self.user, \ + resp, content = utils.users_group_get_xml(self.tenant, + self.user, self.exp_auth_token) resp_val = int(resp['status']) if resp_val == 500: @@ -596,8 +594,8 @@ class get_users_group_test(user_test): self.assertEqual('application/xml', utils.content_type(resp)) def test_users_group_get_disabled_token(self): - resp, content = utils.users_group_get_json(self.tenant, \ - self.user, \ + resp, content = utils.users_group_get_json(self.tenant, + self.user, self.disabled_token) resp_val = int(resp['status']) if resp_val == 500: @@ -607,8 +605,8 @@ class get_users_group_test(user_test): self.assertEqual(403, resp_val) def test_users_group_get_disabled_token_xml(self): - resp, content = utils.users_group_get_xml(self.tenant, \ - self.user, \ + resp, content = utils.users_group_get_xml(self.tenant, + self.user, self.disabled_token) resp_val = int(resp['status']) if resp_val == 500: @@ -619,8 +617,8 @@ class get_users_group_test(user_test): self.assertEqual('application/xml', utils.content_type(resp)) def test_users_group_get_missing_token(self): - resp, content = utils.users_group_get_json(self.tenant, \ - self.user, \ + resp, content = utils.users_group_get_json(self.tenant, + self.user, self.missing_token) resp_val = int(resp['status']) if resp_val == 500: @@ -630,8 +628,8 @@ class get_users_group_test(user_test): self.assertEqual(401, resp_val) def test_users_group_get_missing_token_xml(self): - resp, content = utils.users_group_get_xml(self.tenant, \ - self.user, \ + resp, content = utils.users_group_get_xml(self.tenant, + self.user, self.missing_token) resp_val = int(resp['status']) if resp_val == 500: @@ -642,8 +640,8 @@ class get_users_group_test(user_test): self.assertEqual('application/xml', utils.content_type(resp)) def test_users_group_get_invalid_token(self): - resp, content = utils.users_group_get_json(self.tenant, \ - self.user, \ + resp, content = utils.users_group_get_json(self.tenant, + self.user, self.invalid_token) resp_val = int(resp['status']) if resp_val == 500: @@ -653,8 +651,8 @@ class get_users_group_test(user_test): self.assertEqual(404, resp_val) def test_users_group_get_invalid_token_xml(self): - resp, content = utils.users_group_get_xml(self.tenant, \ - self.user, \ + resp, content = utils.users_group_get_xml(self.tenant, + self.user, self.invalid_token) resp_val = int(resp['status']) if resp_val == 500: @@ -665,8 +663,8 @@ class get_users_group_test(user_test): self.assertEqual('application/xml', utils.content_type(resp)) def test_users_group_get_disabled_tenant(self): - resp, content = utils.users_group_get_json('0000', \ - self.user, \ + resp, content = utils.users_group_get_json('0000', + self.user, self.auth_token) resp_val = int(resp['status']) if resp_val == 500: @@ -676,8 +674,8 @@ class get_users_group_test(user_test): self.assertEqual(403, resp_val) def test_users_group_get_disabled_tenant_xml(self): - resp, content = utils.users_group_get_xml('0000', \ - self.user, \ + resp, content = utils.users_group_get_xml('0000', + self.user, self.auth_token) resp_val = int(resp['status']) if resp_val == 500: @@ -702,12 +700,12 @@ class update_user_test(user_test): self.fail('Service Not Available') utils.delete_user(self.tenant, self.user, str(self.auth_token)) self.assertEqual(200, resp_val) - self.assertEqual('updatedjoeuser@rackspace.com', \ + self.assertEqual('updatedjoeuser@rackspace.com', content['user']['email']) def test_user_update_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_xml(self.tenant, self.user, \ + resp, content = utils.user_update_xml(self.tenant, self.user, self.auth_token) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -717,14 +715,14 @@ class update_user_test(user_test): self.fail('Service Not Available') utils.delete_user(self.tenant, self.user, str(self.auth_token)) self.assertEqual(200, resp_val) - self.assertEqual('updatedjoeuser@rackspace.com', \ + self.assertEqual('updatedjoeuser@rackspace.com', content.get("email")) self.assertEqual('application/xml', utils.content_type(resp)) def test_user_update_user_disabled(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_json(self.tenant, \ - self.userdisabled, \ + resp, content = utils.user_update_json(self.tenant, + self.userdisabled, self.auth_token) resp_val = int(resp['status']) content = json.loads(content) @@ -736,8 +734,8 @@ class update_user_test(user_test): def test_user_update_user_disabled_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_xml(self.tenant, \ - self.userdisabled, \ + resp, content = utils.user_update_xml(self.tenant, + self.userdisabled, self.auth_token) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -750,8 +748,8 @@ class update_user_test(user_test): def test_user_update_email_conflict(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_json(self.tenant, \ - self.user, \ + resp, content = utils.user_update_json(self.tenant, + self.user, self.auth_token,\ "joe@rackspace.com") resp_val = int(resp['status']) @@ -764,9 +762,9 @@ class update_user_test(user_test): def test_user_update_email_conflict_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_xml(self.tenant, \ - self.user, \ - self.auth_token, \ + resp, content = utils.user_update_xml(self.tenant, + self.user, + self.auth_token, "joe@rackspace.com") resp_val = int(resp['status']) content = etree.fromstring(content) @@ -779,7 +777,7 @@ class update_user_test(user_test): def test_user_update_bad_request_json(self): h = httplib2.Http(".cache") - resp, content = utils.create_user(self.tenant, self.user, \ + resp, content = utils.create_user(self.tenant, self.user, str(self.auth_token)) url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) data = '{"user_bad": { "bad": "updatedjoeuser@rackspace.com"}}' @@ -797,7 +795,7 @@ class update_user_test(user_test): def test_user_update_bad_request_xml(self): h = httplib2.Http(".cache") - resp, content = utils.create_user_xml(self.tenant, self.user, \ + resp, content = utils.create_user_xml(self.tenant, self.user, str(self.auth_token)) url = '%stenants/%s/users/%s' % (URL, self.tenant, self.user) data = ' \ @@ -819,8 +817,8 @@ class update_user_test(user_test): def test_user_update_expired_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_json(self.tenant, \ - self.user, \ + resp, content = utils.user_update_json(self.tenant, + self.user, self.exp_auth_token) resp_val = int(resp['status']) content = json.loads(content) @@ -832,8 +830,8 @@ class update_user_test(user_test): def test_user_update_expired_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_update_xml(self.tenant, + self.user, self.exp_auth_token) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -846,8 +844,8 @@ class update_user_test(user_test): def test_user_update_disabled_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_json(self.tenant, \ - self.user, \ + resp, content = utils.user_update_json(self.tenant, + self.user, self.disabled_token) resp_val = int(resp['status']) content = json.loads(content) @@ -859,8 +857,8 @@ class update_user_test(user_test): def test_user_update_disabled_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_update_xml(self.tenant, + self.user, self.disabled_token) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -873,8 +871,8 @@ class update_user_test(user_test): def test_user_update_invalid_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_json(self.tenant, \ - self.user, \ + resp, content = utils.user_update_json(self.tenant, + self.user, self.invalid_token) resp_val = int(resp['status']) content = json.loads(content) @@ -886,8 +884,8 @@ class update_user_test(user_test): def test_user_update_invalid_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_update_xml(self.tenant, + self.user, self.invalid_token) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -900,8 +898,8 @@ class update_user_test(user_test): def test_user_update_missing_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_json(self.tenant, \ - self.user, \ + resp, content = utils.user_update_json(self.tenant, + self.user, self.missing_token) resp_val = int(resp['status']) content = json.loads(content) @@ -913,8 +911,8 @@ class update_user_test(user_test): def test_user_update_missing_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_update_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_update_xml(self.tenant, + self.user, self.missing_token) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -930,8 +928,8 @@ class set_password_test(user_test): def test_user_password(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_password_json(self.tenant, \ - self.user, \ + resp, content = utils.user_password_json(self.tenant, + self.user, str(self.auth_token)) resp_val = int(resp['status']) content = json.loads(content) @@ -945,8 +943,8 @@ class set_password_test(user_test): def test_user_password_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_password_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_password_xml(self.tenant, + self.user, str(self.auth_token)) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -961,8 +959,8 @@ class set_password_test(user_test): def test_user_password_user_disabled(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_password_json(self.tenant, \ - self.userdisabled, \ + resp, content = utils.user_password_json(self.tenant, + self.userdisabled, str(self.auth_token)) resp_val = int(resp['status']) content = json.loads(content) @@ -974,8 +972,8 @@ class set_password_test(user_test): def test_user_password_user_disabled_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_password_xml(self.tenant, \ - self.userdisabled, \ + resp, content = utils.user_password_xml(self.tenant, + self.userdisabled, str(self.auth_token)) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -988,7 +986,7 @@ class set_password_test(user_test): def test_user_password_bad_request_json(self): h = httplib2.Http(".cache") - utils.create_user(self.tenant, self.user, \ + utils.create_user(self.tenant, self.user, str(self.auth_token)) url = '%stenants/%s/users/%s/password' % (URL, self.tenant, self.user) data = '{"user_bad": { "password": "p@ssword"}}' @@ -1027,8 +1025,8 @@ class set_password_test(user_test): def test_user_password_expired_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_password_json(self.tenant, \ - self.user, \ + resp, content = utils.user_password_json(self.tenant, + self.user, str(self.exp_auth_token)) resp_val = int(resp['status']) content = json.loads(content) @@ -1040,8 +1038,8 @@ class set_password_test(user_test): def test_user_password_expired_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_password_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_password_xml(self.tenant, + self.user, str(self.exp_auth_token)) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -1054,8 +1052,8 @@ class set_password_test(user_test): def test_user_password_disabled_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_password_json(self.tenant, \ - self.user, \ + resp, content = utils.user_password_json(self.tenant, + self.user, str(self.disabled_token)) resp_val = int(resp['status']) content = json.loads(content) @@ -1067,8 +1065,8 @@ class set_password_test(user_test): def test_user_password_disabled_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_password_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_password_xml(self.tenant, + self.user, str(self.disabled_token)) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -1080,11 +1078,11 @@ class set_password_test(user_test): self.assertEqual('application/xml', utils.content_type(resp)) def test_user_password_invalid_token(self): - utils.create_user(self.tenant, \ - self.user, \ + utils.create_user(self.tenant, + self.user, str(self.auth_token)) - resp, content = utils.user_password_json(self.tenant, \ - self.user, \ + resp, content = utils.user_password_json(self.tenant, + self.user, str(self.invalid_token)) resp_val = int(resp['status']) content = json.loads(content) @@ -1096,8 +1094,8 @@ class set_password_test(user_test): def test_user_password_invalid_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_password_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_password_xml(self.tenant, + self.user, str(self.invalid_token)) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -1110,8 +1108,8 @@ class set_password_test(user_test): def test_user_password_missing_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_password_json(self.tenant, \ - self.user, \ + resp, content = utils.user_password_json(self.tenant, + self.user, str(self.missing_token)) resp_val = int(resp['status']) content = json.loads(content) @@ -1123,8 +1121,8 @@ class set_password_test(user_test): def test_user_password_missing_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_password_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_password_xml(self.tenant, + self.user, str(self.missing_token)) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -1140,8 +1138,8 @@ class set_enabled_test(user_test): def test_user_enabled(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_enabled_json(self.tenant, \ - self.user, \ + resp, content = utils.user_enabled_json(self.tenant, + self.user, str(self.auth_token)) resp_val = int(resp['status']) content = json.loads(content) @@ -1155,8 +1153,8 @@ class set_enabled_test(user_test): def test_user_enabled_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_enabled_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_enabled_xml(self.tenant, + self.user, str(self.auth_token)) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -1171,7 +1169,7 @@ class set_enabled_test(user_test): def test_user_enabled_bad_request_json(self): h = httplib2.Http(".cache") - utils.create_user(self.tenant, self.user, \ + utils.create_user(self.tenant, self.user, str(self.auth_token)) url = '%stenants/%s/users/%s/enabled' % (URL, self.tenant, self.user) data = '{"user_bad": { "enabled": true}}' @@ -1189,7 +1187,7 @@ class set_enabled_test(user_test): def test_user_enabled_bad_request_xml(self): h = httplib2.Http(".cache") - utils.create_user_xml(self.tenant, self.user, \ + utils.create_user_xml(self.tenant, self.user, str(self.auth_token)) url = '%stenants/%s/users/%s/enabled' % (URL, self.tenant, self.user) data = ' \ @@ -1211,8 +1209,8 @@ class set_enabled_test(user_test): def test_user_enabled_expired_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_enabled_json(self.tenant, \ - self.user, \ + resp, content = utils.user_enabled_json(self.tenant, + self.user, str(self.exp_auth_token)) resp_val = int(resp['status']) content = json.loads(content) @@ -1224,8 +1222,8 @@ class set_enabled_test(user_test): def test_user_enabled_expired_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_enabled_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_enabled_xml(self.tenant, + self.user, str(self.exp_auth_token)) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -1238,8 +1236,8 @@ class set_enabled_test(user_test): def test_user_enabled_disabled_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_enabled_json(self.tenant, \ - self.user, \ + resp, content = utils.user_enabled_json(self.tenant, + self.user, str(self.disabled_token)) resp_val = int(resp['status']) content = json.loads(content) @@ -1251,8 +1249,8 @@ class set_enabled_test(user_test): def test_user_enabled_disabled_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_enabled_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_enabled_xml(self.tenant, + self.user, str(self.disabled_token)) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -1265,8 +1263,8 @@ class set_enabled_test(user_test): def test_user_enabled_invalid_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_enabled_json(self.tenant, \ - self.user, \ + resp, content = utils.user_enabled_json(self.tenant, + self.user, str(self.invalid_token)) resp_val = int(resp['status']) content = json.loads(content) @@ -1278,8 +1276,8 @@ class set_enabled_test(user_test): def test_user_enabled_invalid_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_enabled_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_enabled_xml(self.tenant, + self.user, str(self.invalid_token)) resp_val = int(resp['status']) content = etree.fromstring(content) @@ -1292,8 +1290,8 @@ class set_enabled_test(user_test): def test_user_enabled_missing_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_enabled_json(self.tenant, \ - self.user, \ + resp, content = utils.user_enabled_json(self.tenant, + self.user, str(self.missing_token)) resp_val = int(resp['status']) content = json.loads(content) @@ -1305,8 +1303,8 @@ class set_enabled_test(user_test): def test_user_enabled_missing_token_xml(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.user_enabled_xml(self.tenant, \ - self.user, \ + resp, content = utils.user_enabled_xml(self.tenant, + self.user, str(self.missing_token)) resp_val = int(resp['status']) content = etree.fromstring(content) -- cgit From 1c03563aaf5635d074a4e6a8999810fe122e0895 Mon Sep 17 00:00:00 2001 From: jabdul Date: Fri, 13 May 2011 17:13:15 +0530 Subject: Added functionality add user to a tenant --- keystone/db/sqlalchemy/api.py | 24 +++++++++++++++-------- keystone/logic/service.py | 45 ++++++++++++++++++++++++++++++++++--------- keystone/server.py | 9 +++++++++ 3 files changed, 61 insertions(+), 17 deletions(-) diff --git a/keystone/db/sqlalchemy/api.py b/keystone/db/sqlalchemy/api.py index 9fd9a734..71860de7 100644 --- a/keystone/db/sqlalchemy/api.py +++ b/keystone/db/sqlalchemy/api.py @@ -274,6 +274,22 @@ def user_get(id, session=None): return result +def user_get_by_tenant(id, tenant_id, session=None): + if not session: + session = get_session() + user_tenant = session.query(models.UserTenantAssociation).filter_by(\ + tenant_id=tenant_id, user_id=id).first() + print '1' * 80 + return user_tenant + + +def user_get_email(email, session=None): + if not session: + session = get_session() + result = session.query(models.User).filter_by(email=email).first() + return result + + def user_groups(id, session=None): if not session: session = get_session() @@ -491,14 +507,6 @@ def user_get_update(id, session=None): result = session.query(models.User).filter_by(id=id).first() return result - -def user_get_email(email, session=None): - if not session: - session = get_session() - result = session.query(models.User).filter_by(email=email).first() - return result - - def users_get_by_tenant_get_page(tenant_id, marker, limit, session=None): if not session: session = get_session() diff --git a/keystone/logic/service.py b/keystone/logic/service.py index efe2f930..2ac57ed6 100644 --- a/keystone/logic/service.py +++ b/keystone/logic/service.py @@ -408,7 +408,6 @@ class IDMService(object): # # User Operations # - def create_user(self, admin_token, tenant_id, user): self.__validate_token(admin_token) @@ -423,6 +422,10 @@ class IDMService(object): if user.user_id == None: raise fault.BadRequestFault("Expecting a unique User Id") + + if db_api.user_get_by_tenant(user.user_id,tenant_id) != None: + raise fault.UserConflictFault( + "An user with that id already exists in the given tenant") if db_api.user_get(user.user_id) != None: raise fault.UserConflictFault( @@ -431,21 +434,18 @@ class IDMService(object): if db_api.user_get_email(user.email) != None: raise fault.EmailConflictFault( "Email already exists") - - - duser_tenant = db_models.UserTenantAssociation() - duser_tenant.user_id = user.user_id - duser_tenant.tenant_id = tenant_id - db_api.user_tenant_create(duser_tenant) - duser = db_models.User() duser.id = user.user_id duser.password = user.password duser.email = user.email duser.enabled = user.enabled db_api.user_create(duser) - + duser_tenant = db_models.UserTenantAssociation() + duser_tenant.user_id = user.user_id + duser_tenant.tenant_id = tenant_id + db_api.user_tenant_create(duser_tenant) return user + def get_tenant_users(self, admin_token, tenant_id, marker, limit, url): self.__validate_token(admin_token) @@ -640,6 +640,33 @@ class IDMService(object): links.append(atom.Link('next', "%s?'marker=%s&limit=%s'" % (url, next, limit))) return tenants.Groups(ts, links) + + def add_user_tenant(self, admin_token, user_id, tenant_id): + self.__validate_token(admin_token) + + dtenant = db_api.tenant_get(tenant_id) + print '1' * 80 + print dtenant + if dtenant == None: + raise fault.UnauthorizedFault("Unauthorized") + if not dtenant.enabled: + raise fault.TenantDisabledFault("Your account has been disabled") + if user_id == None: + raise fault.BadRequestFault("Expecting a unique User Id") + + if db_api.user_get(user_id) is None: + raise fault.ItemNotFoundFault( + "user does not exists") + + if db_api.user_get_by_tenant(user_id,tenant_id) != None: + raise fault.UserConflictFault( + "An user with that id already exists in the given tenant") + + duser_tenant = db_models.UserTenantAssociation() + duser_tenant.user_id = user_id + duser_tenant.tenant_id = tenant_id + db_api.user_tenant_create(duser_tenant) + return None # diff --git a/keystone/server.py b/keystone/server.py index 17b42ded..d8cd18b8 100755 --- a/keystone/server.py +++ b/keystone/server.py @@ -485,6 +485,11 @@ class UserController(wsgi.Controller): rval = service.enable_disable_user(get_auth_token(req), user_id, user, tenant_id) return send_result(200, req, rval) + + @wrap_error + def add_user_tenant(self, req, user_id, tenant_id): + rval = service.add_user_tenant(get_auth_token(req), user_id, tenant_id) + return send_result(200, req, rval) class GroupsController(wsgi.Controller): @@ -675,6 +680,10 @@ class KeystoneAPI(wsgi.Router): controller=user_controller, action="set_user_password", conditions=dict(method=["PUT"])) + mapper.connect("/v1.0/tenants/{tenant_id}/users/{user_id}/add", + controller=user_controller, + action="add_user_tenant", + conditions=dict(method=["PUT"])) # Test this, test failed mapper.connect("/v1.0/tenants/{tenant_id}/users/{user_id}/enabled", -- cgit From 519422fc38e90de6e61ff477a784fd5c11794121 Mon Sep 17 00:00:00 2001 From: "sirish.bitra" Date: Fri, 13 May 2011 17:22:53 +0530 Subject: fixes --- keystone/logic/service.py | 1 - 1 file changed, 1 deletion(-) diff --git a/keystone/logic/service.py b/keystone/logic/service.py index efe2f930..a32bd567 100644 --- a/keystone/logic/service.py +++ b/keystone/logic/service.py @@ -432,7 +432,6 @@ class IDMService(object): raise fault.EmailConflictFault( "Email already exists") - duser_tenant = db_models.UserTenantAssociation() duser_tenant.user_id = user.user_id duser_tenant.tenant_id = tenant_id -- cgit From 81995629d9af3b0dde2bccde84ddf5b54277b441 Mon Sep 17 00:00:00 2001 From: "sirish.bitra" Date: Fri, 13 May 2011 19:54:34 +0530 Subject: fixed bugs --- keystone/db/sqlalchemy/api.py | 2 +- keystone/logic/service.py | 21 ++++++++++++++------- keystone/logic/types/auth.py | 19 ++++++++++++++++--- test/unit/test_authentication.py | 17 ++++++++++------- test/unit/test_common.py | 38 ++++++++++++++++++++++++++------------ test/unit/test_groups.py | 20 ++++++++++++-------- test/unit/test_tenant_groups.py | 11 ++++++----- test/unit/test_tenants.py | 3 ++- test/unit/test_token.py | 2 +- 9 files changed, 88 insertions(+), 45 deletions(-) diff --git a/keystone/db/sqlalchemy/api.py b/keystone/db/sqlalchemy/api.py index 71860de7..0a8cd83a 100644 --- a/keystone/db/sqlalchemy/api.py +++ b/keystone/db/sqlalchemy/api.py @@ -702,7 +702,7 @@ def user_delete_tenant(id, tenant_id, session=None): for group_user in group_users: session.delete(group_user) user_tenant_ref = session.query(models.UserTenantAssociation)\ - .filter_by(user_id=id).first() + .filter_by(user_id=id, tenant_id=tenant_id).first() if user_tenant_ref is None: user_ref = user_get(id, session) session.delete(user_ref) diff --git a/keystone/logic/service.py b/keystone/logic/service.py index caf1747a..ccb6c98f 100644 --- a/keystone/logic/service.py +++ b/keystone/logic/service.py @@ -51,10 +51,17 @@ class IDMService(object): # Look for an existing token, or create one, # TODO: Handle tenant/token search # - if not credentials.tenant_id: + # removing following code for multi-token + """if not credentials.tenant_id: dtoken = db_api.token_for_user(duser.id) else: - dtoken = db_api.token_for_user_tenant(duser.id, credentials.tenant_id) + dtoken = db_api.token_for_user_tenant(duser.id, + credentials.tenant_id) + """ + # added following code + dtoken = db_api.token_for_user_tenant(duser.id, + credentials.tenant_id) + #--- if not dtoken or dtoken.expires < datetime.now(): dtoken = db_models.Token() dtoken.token_id = str(uuid.uuid4()) @@ -63,13 +70,15 @@ class IDMService(object): if not duser.tenants: raise fault.IDMFault("Strange: user %s is not associated " "with a tenant!" % duser.id) - if not credentials.tenant_id and db_api.user_get_by_tenant(duser.id, credentials.tenant_id): + if not credentials.tenant_id and db_api.user_get_by_tenant(\ + duser.id, credentials.tenant_id): raise fault.IDMFault("Error: user %s is not associated " "with a tenant! %s" % (duser.id, credentials.tenant_id)) dtoken.tenant_id = credentials.tenant_id - else: - dtoken.tenant_id = duser.tenants[0].tenant_id + #removing following code for multi token + """else: + dtoken.tenant_id = duser.tenants[0].tenant_id""" dtoken.expires = datetime.now() + timedelta(days=1) db_api.token_create(dtoken) @@ -646,8 +655,6 @@ class IDMService(object): self.__validate_token(admin_token) dtenant = db_api.tenant_get(tenant_id) - print '1' * 80 - print dtenant if dtenant == None: raise fault.UnauthorizedFault("Unauthorized") if not dtenant.enabled: diff --git a/keystone/logic/types/auth.py b/keystone/logic/types/auth.py index fc5be63a..d6e58538 100644 --- a/keystone/logic/types/auth.py +++ b/keystone/logic/types/auth.py @@ -21,8 +21,12 @@ import keystone.logic.types.fault as fault from lxml import etree + class PasswordCredentials(object): - "Credentials based on username, password, and (optional) tenant_id." + """Credentials based on username, password, and (optional) tenant_id. + To handle multiple token for a user depending on tenants, + tenant_id is mandatory. + """ def __init__(self, username, password, tenant_id): self.username = username @@ -45,6 +49,12 @@ class PasswordCredentials(object): if password == None: raise fault.BadRequestFault("Expecting a password") tenant_id = root.get("tenantId") + + #--for multi-token handling-- + if tenant_id == None: + raise fault.BadRequestFault("Expecting tenant") + # ---- + return PasswordCredentials(username, password, tenant_id) except etree.LxmlError as e: raise fault.BadRequestFault("Cannot parse password credentials", @@ -66,7 +76,10 @@ class PasswordCredentials(object): if "tenantId" in cred: tenant_id = cred["tenantId"] else: - tenant_id = None + #--for multi-token handling-- + if tenant_id == None: + raise fault.BadRequestFault("Expecting a tenant") + # --- return PasswordCredentials(username, password, tenant_id) except (ValueError, TypeError) as e: raise fault.BadRequestFault("Cannot parse password credentials", @@ -121,7 +134,7 @@ class AuthData(object): token.set("id", self.token.token_id) user = etree.Element("user", username=self.user.username, - tenantId=self.user.tenant_id) + tenantId=str(self.user.tenant_id)) groups = etree.Element("groups") for group in self.user.groups.values: g = etree.Element("group", diff --git a/test/unit/test_authentication.py b/test/unit/test_authentication.py index 78bf0486..6254f282 100644 --- a/test/unit/test_authentication.py +++ b/test/unit/test_authentication.py @@ -16,7 +16,8 @@ class authentication_test(unittest.TestCase): def setUp(self): self.tenant = utils.get_tenant() - self.token = utils.get_token('joeuser', 'secrete', 'token') + self.token = utils.get_token('joeuser', 'secrete', self.tenant, + 'token') self.user = utils.get_user() self.userdisabled = utils.get_userdisabled() self.auth_token = utils.get_auth_token() @@ -27,12 +28,12 @@ class authentication_test(unittest.TestCase): utils.delete_token(self.token, self.auth_token) def test_a_authorize(self): - resp, content = utils.get_token('joeuser', 'secrete', '') + resp, content = utils.get_token('joeuser', 'secrete', self.tenant) self.assertEqual(200, int(resp['status'])) self.assertEqual('application/json', utils.content_type(resp)) def test_a_authorize_xml(self): - resp, content = utils.get_token_xml('joeuser', 'secrete', '', + resp, content = utils.get_token_xml('joeuser', 'secrete', self.tenant) self.assertEqual(200, int(resp['status'])) self.assertEqual('application/xml', utils.content_type(resp)) @@ -41,7 +42,8 @@ class authentication_test(unittest.TestCase): header = httplib2.Http(".cache") url = '%stoken' % utils.URL body = {"passwordCredentials": {"username": "disabled", - "password": "secrete"}} + "password": "secrete", + "tenantId" : self.tenant}} resp, content = header.request(url, "POST", body=json.dumps(body), headers={"Content-Type": "application/json"}) content = json.loads(content) @@ -59,7 +61,7 @@ class authentication_test(unittest.TestCase): ' + tenantId="%s"/>' % self.tenant resp, content = header.request(url, "POST", body=body, headers={"Content-Type": "application/xml", "ACCEPT": "application/xml"}) @@ -75,7 +77,8 @@ class authentication_test(unittest.TestCase): header = httplib2.Http(".cache") url = '%stoken' % utils.URL body = {"passwordCredentials": {"username-w": "disabled", - "password": "secrete"}} + "password": "secrete", + "tenantId" : self.tenant}} resp, content = header.request(url, "POST", body=json.dumps(body), headers={"Content-Type": "application/json"}) content = json.loads(content) @@ -93,7 +96,7 @@ class authentication_test(unittest.TestCase): ' + tenantId="%s"/>' % self.tenant resp, content = header.request(url, "POST", body=body, headers={"Content-Type": "application/xml", "ACCEPT": "application/xml"}) diff --git a/test/unit/test_common.py b/test/unit/test_common.py index 79222674..86088ed4 100644 --- a/test/unit/test_common.py +++ b/test/unit/test_common.py @@ -1,10 +1,11 @@ import os import sys + # Need to access identity module sys.path.append(os.path.abspath(os.path.join(os.path.abspath(__file__), '..', '..', '..', '..', 'keystone'))) import unittest -from webtest import TestApp + import httplib2 import json from lxml import etree @@ -13,17 +14,23 @@ from lxml import etree URL = 'http://localhost:8080/v1.0/' -def get_token(user, pswd, kind='', tenant_id=None): +def get_token(user, pswd, tenant_id, kind='',): header = httplib2.Http(".cache") url = '%stoken' % URL - if not tenant_id: + # to test multi token, removing below code + """if not tenant_id: body = {"passwordCredentials": {"username": user, "password": pswd}} else: body = {"passwordCredentials": {"username": user, "password": pswd, "tenantId": tenant_id}} - + """ + # adding code + body = {"passwordCredentials": {"username": user, + "password": pswd, + "tenantId": tenant_id}} + #--- resp, content = header.request(url, "POST", body=json.dumps(body), headers={"Content-Type": "application/json"}) content = json.loads(content) @@ -132,10 +139,11 @@ def delete_global_group_xml(groupid, auth_token): return (resp, content) -def get_token_xml(user, pswd, type='', tenant_id=None): +def get_token_xml(user, pswd, tenant_id, type=''): header = httplib2.Http(".cache") url = '%stoken' % URL - if tenant_id: + # to test multi token, removing below code + """if tenant_id: body = ' \ ' % (pswd, user)""" + # adding code ie., body + body = ' \ + ' % (pswd, user, tenant_id) resp, content = header.request(url, "POST", body=body, headers={"Content-Type": "application/xml", "ACCEPT": "application/xml"}) + dom = etree.fromstring(content) root = dom.find("{http://docs.openstack.org/idm/api/v1.0}token") token_root = root.attrib @@ -236,12 +251,11 @@ def create_user(tenantid, userid, auth_token): def delete_user(tenant, userid, auth_token): header = httplib2.Http(".cache") url = '%stenants/%s/users/%s' % (URL, tenant, userid) - resp, content = header.request(url, "DELETE", body='{}', headers={"Content-Type": "application/json", "X-Auth-Token": auth_token}) - - return (resp, content) + + return resp def create_user_xml(tenantid, userid, auth_token): @@ -259,14 +273,14 @@ def create_user_xml(tenantid, userid, auth_token): return (resp, content) -def delete_user(tenant, userid, auth_token): +"""def delete_user(tenant, userid, auth_token): h = httplib2.Http(".cache") url = '%stenants/%s/users/%s' % (URL, tenant, userid) resp, content = h.request(url, "DELETE", body='{}', headers={"Content-Type": "application/json", "X-Auth-Token": auth_token}) - return resp + return resp""" def delete_user_xml(tenantid, userid, auth_token): diff --git a/test/unit/test_groups.py b/test/unit/test_groups.py index 1ca4dff3..ce8676f5 100644 --- a/test/unit/test_groups.py +++ b/test/unit/test_groups.py @@ -19,8 +19,9 @@ import test_common as utils class global_group_test(unittest.TestCase): def setUp(self): - self.token = utils.get_token('joeuser', 'secrete', 'token') self.globaltenant = utils.get_global_tenant() + self.token = utils.get_token('joeuser', 'secrete', self.globaltenant, + 'token') self.user = utils.get_user() self.userdisabled = utils.get_userdisabled() self.auth_token = utils.get_auth_token() @@ -572,8 +573,9 @@ class delete_global_group_test(global_group_test): class add_user_global_group_test(unittest.TestCase): def setUp(self): - self.token = utils.get_token('joeuser', 'secrete', 'token') self.tenant = utils.get_global_tenant() + self.token = utils.get_token('joeuser', 'secrete', self.tenant, + 'token') self.user = utils.get_user() self.userdisabled = utils.get_userdisabled() self.auth_token = utils.get_auth_token() @@ -586,7 +588,7 @@ class add_user_global_group_test(unittest.TestCase): self.user, str(self.auth_token)) - respG, contentG = utils.delete_user(self.tenant, self.user, + resp = utils.delete_user(self.tenant, self.user, str(self.auth_token)) resp, content = utils.delete_global_group(self.global_group, self.auth_token) @@ -730,8 +732,10 @@ class add_user_global_group_test(unittest.TestCase): class get_users_tenant_group_test(unittest.TestCase): def setUp(self): - self.token = utils.get_token('joeuser', 'secrete', 'token') + self.tenant = utils.get_global_tenant() + self.token = utils.get_token('joeuser', 'secrete', self.tenant, + 'token') self.user = utils.get_user() self.userdisabled = utils.get_userdisabled() self.auth_token = utils.get_auth_token() @@ -743,8 +747,7 @@ class get_users_tenant_group_test(unittest.TestCase): respG, contentG = utils.delete_user_global_group(self.global_group, self.user, str(self.auth_token)) - - respG, contentG = utils.delete_user(self.tenant, self.user, + respG = utils.delete_user(self.tenant, self.user, str(self.auth_token)) resp, content = utils.delete_global_group(self.global_group, self.auth_token) @@ -895,8 +898,9 @@ class get_users_tenant_group_test(unittest.TestCase): class delete_users_global_group_test(unittest.TestCase): def setUp(self): - self.token = utils.get_token('joeuser', 'secrete', 'token') self.tenant = utils.get_global_tenant() + self.token = utils.get_token('joeuser', 'secrete', self.tenant, + 'token') self.user = utils.get_user() self.userdisabled = utils.get_userdisabled() self.auth_token = utils.get_auth_token() @@ -909,7 +913,7 @@ class delete_users_global_group_test(unittest.TestCase): self.user, str(self.auth_token)) - respG, contentG = utils.delete_user(self.tenant, self.user, + resp = utils.delete_user(self.tenant, self.user, str(self.auth_token)) resp, content = utils.delete_global_group(self.global_group, self.auth_token) diff --git a/test/unit/test_tenant_groups.py b/test/unit/test_tenant_groups.py index 9c46db42..040d84fe 100644 --- a/test/unit/test_tenant_groups.py +++ b/test/unit/test_tenant_groups.py @@ -14,8 +14,9 @@ import test_common as util class tenant_group_test(unittest.TestCase): def setUp(self): - self.token = util.get_token('joeuser', 'secrete', 'token') self.tenant = util.get_tenant() + self.token = util.get_token('joeuser', 'secrete', self.tenant, + 'token') self.user = util.get_user() self.userdisabled = util.get_userdisabled() self.auth_token = util.get_auth_token() @@ -749,8 +750,8 @@ class delete_tenant_group_test(tenant_group_test): class add_user_tenant_group_test(tenant_group_test): def setUp(self): - self.token = util.get_token('joeuser', 'secrete', 'token') self.tenant = 'test_tenant' + self.token = util.get_token('joeuser', 'secrete', self.tenant, 'token') self.user = util.get_user() self.userdisabled = util.get_userdisabled() self.auth_token = util.get_auth_token() @@ -764,7 +765,7 @@ class add_user_tenant_group_test(tenant_group_test): self.user, str(self.auth_token)) - resp, content = util.delete_user(self.tenant, self.user, + resp = util.delete_user(self.tenant, self.user, str(self.auth_token)) resp, content = util.delete_tenant_group(self.tenant_group, self.tenant, @@ -931,8 +932,8 @@ class add_user_tenant_group_test(tenant_group_test): class get_users_tenant_group_test(tenant_group_test): def setUp(self): - self.token = util.get_token('joeuser', 'secrete', 'token') self.tenant = 'test_tenant' + self.token = util.get_token('joeuser', 'secrete', self.tenant, 'token') self.user = util.get_user() self.userdisabled = util.get_userdisabled() self.auth_token = util.get_auth_token() @@ -946,7 +947,7 @@ class get_users_tenant_group_test(tenant_group_test): self.user, str(self.auth_token)) - resp, content = util.delete_user(self.tenant, self.user, + resp = util.delete_user(self.tenant, self.user, str(self.auth_token)) resp, content = util.delete_tenant_group(self.tenant_group, self.tenant, diff --git a/test/unit/test_tenants.py b/test/unit/test_tenants.py index 0489c195..3bcc0da5 100644 --- a/test/unit/test_tenants.py +++ b/test/unit/test_tenants.py @@ -13,8 +13,9 @@ import test_common as utils class tenant_test(unittest.TestCase): def setUp(self): - self.token = utils.get_token('joeuser', 'secrete', 'token') self.tenant = 'test_tenant' + self.token = utils.get_token('joeuser', 'secrete', self.tenant, + 'token') self.user = utils.get_user() self.userdisabled = utils.get_userdisabled() self.auth_token = utils.get_auth_token() diff --git a/test/unit/test_token.py b/test/unit/test_token.py index ce33c8f1..5f858cd5 100644 --- a/test/unit/test_token.py +++ b/test/unit/test_token.py @@ -11,8 +11,8 @@ import test_common as utils class validate_token(unittest.TestCase): def setUp(self): - self.token = utils.get_token('joeuser', 'secrete', 'token') self.tenant = utils.get_tenant() + self.token = utils.get_token('joeuser', 'secrete', self.tenant, 'token') self.user = utils.get_user() self.userdisabled = utils.get_userdisabled() self.auth_token = utils.get_auth_token() -- cgit From 46cb1d53d0ee46ea6d68a8430843dbe468624e91 Mon Sep 17 00:00:00 2001 From: "sirish.bitra" Date: Fri, 13 May 2011 20:40:25 +0530 Subject: fixed pylint --- test/unit/test_authentication.py | 2 +- test/unit/test_groups.py | 491 +++++++++++++++++++++------------------ test/unit/test_tenant_groups.py | 18 +- test/unit/test_tenants.py | 12 +- test/unit/test_token.py | 2 +- test/unit/test_users.py | 18 +- test/unit/test_version.py | 2 +- 7 files changed, 293 insertions(+), 252 deletions(-) diff --git a/test/unit/test_authentication.py b/test/unit/test_authentication.py index 6254f282..6f7af0f7 100644 --- a/test/unit/test_authentication.py +++ b/test/unit/test_authentication.py @@ -12,7 +12,7 @@ from lxml import etree import test_common as utils -class authentication_test(unittest.TestCase): +class AuthenticationTest(unittest.TestCase): def setUp(self): self.tenant = utils.get_tenant() diff --git a/test/unit/test_groups.py b/test/unit/test_groups.py index ce8676f5..43173f36 100644 --- a/test/unit/test_groups.py +++ b/test/unit/test_groups.py @@ -16,7 +16,7 @@ import test_common as utils ## -class global_group_test(unittest.TestCase): +class GlobalGroupTest(unittest.TestCase): def setUp(self): self.globaltenant = utils.get_global_tenant() @@ -35,66 +35,71 @@ class global_group_test(unittest.TestCase): resp, content = utils.delete_tenant(self.globaltenant, self.auth_token) -class create_global_group_test(global_group_test): +class CreateGlobalGroupTest(GlobalGroupTest): def test_global_group_create(self): - respG, contentG = utils.delete_global_group(self.global_group, + resp_new, content_new = utils.delete_global_group(self.global_group, str(self.auth_token)) - respG, contentG = utils.create_global_group(self.global_group, + resp_new, content_new = utils.create_global_group(self.global_group, str(self.auth_token)) - if int(respG['status']) == 500: + if int(resp_new['status']) == 500: self.fail('IDM fault') - elif int(respG['status']) == 503: + elif int(resp_new['status']) == 503: self.fail('Service Not Available') - if int(respG['status']) not in (200, 201): - self.fail('Failed due to %d' % int(respG['status'])) + if int(resp_new['status']) not in (200, 201): + self.fail('Failed due to %d' % int(resp_new['status'])) def test_global_group_create_xml(self): - respG, contentG = utils.delete_global_group_xml(self.global_group, - str(self.auth_token)) - respG, contentG = utils.create_global_group_xml(self.global_group, + resp_new, content_new = utils.delete_global_group_xml(\ + self.global_group, + str(self.auth_token)) + resp_new, content_new = utils.create_global_group_xml(\ + self.global_group, str(self.auth_token)) - if int(respG['status']) == 500: + if int(resp_new['status']) == 500: self.fail('IDM fault') - elif int(respG['status']) == 503: + elif int(resp_new['status']) == 503: self.fail('Service Not Available') - if int(respG['status']) not in (200, 201): - self.fail('Failed due to %d' % int(respG['status'])) + if int(resp_new['status']) not in (200, 201): + self.fail('Failed due to %d' % int(resp_new['status'])) def test_global_group_create_again(self): - respG, contentG = utils.create_global_group(self.global_group, + resp_new, content_new = utils.create_global_group(self.global_group, str(self.auth_token)) - respG, contentG = utils.create_global_group(self.global_group, + resp_new, content_new = utils.create_global_group(self.global_group, str(self.auth_token)) - if int(respG['status']) == 500: + if int(resp_new['status']) == 500: self.fail('IDM fault') - elif int(respG['status']) == 503: + elif int(resp_new['status']) == 503: self.fail('Service Not Available') - self.assertEqual(409, int(respG['status'])) + self.assertEqual(409, int(resp_new['status'])) def test_global_group_create_again_xml(self): - respG, contentG = utils.create_global_group_xml(self.global_group, - str(self.auth_token)) - respG, contentG = utils.create_global_group_xml(self.global_group, - str(self.auth_token)) - contentG = etree.fromstring(contentG) - if int(respG['status']) == 500: + resp_new, content_new = utils.create_global_group_xml(\ + self.global_group, + str(self.auth_token)) + resp_new, content_new = utils.create_global_group_xml(\ + self.global_group, + str(self.auth_token)) + content_new = etree.fromstring(content_new) + if int(resp_new['status']) == 500: self.fail('IDM fault') - elif int(respG['status']) == 503: + elif int(resp_new['status']) == 503: self.fail('Service Not Available') - self.assertEqual(409, int(respG['status'])) + self.assertEqual(409, int(resp_new['status'])) def test_global_group_create_unauthorized_token(self): - h = httplib2.Http(".cache") - respG, contentG = utils.create_global_group_xml(self.global_group, - str(self.auth_token)) + header = httplib2.Http(".cache") + resp_new, content_new = utils.create_global_group_xml(\ + self.global_group, + str(self.auth_token)) url = '%sgroups' % (utils.URL) body = {"group": {"id": self.global_group, "description": "A description ..."}} - resp, content = h.request(url, "POST", body=json.dumps(body), + resp, content = header.request(url, "POST", body=json.dumps(body), headers={"Content-Type": "application/json", "X-Auth-Token": self.token}) if int(resp['status']) == 500: @@ -104,14 +109,14 @@ class create_global_group_test(global_group_test): self.assertEqual(401, int(resp['status'])) def test_global_group_create_unauthorized_token_xml(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") url = '%sgroups' % (utils.URL) body = ' \ \ A description... \ ' % self.global_group - resp, content = h.request(url, "POST", body=body, + resp, content = header.request(url, "POST", body=body, headers={"Content-Type": "application/xml", "X-Auth-Token": self.token, "ACCEPT": "application/xml"}) @@ -122,11 +127,11 @@ class create_global_group_test(global_group_test): self.assertEqual(401, int(resp['status'])) def test_global_group_create_expired_token(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") url = '%sgroups' % (utils.URL) body = {"group": {"id": self.global_group, "description": "A description ..."}} - resp, content = h.request(url, "POST", body=json.dumps(body), + resp, content = header.request(url, "POST", body=json.dumps(body), headers={"Content-Type": "application/json", "X-Auth-Token": \ self.exp_auth_token}) @@ -137,13 +142,13 @@ class create_global_group_test(global_group_test): self.assertEqual(403, int(resp['status'])) def test_global_group_create_expired_token_xml(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") url = '%sgroups' % (utils.URL) body = ' \ A description... \ ' % self.globaltenant - resp, content = h.request(url, "POST", body=body, + resp, content = header.request(url, "POST", body=body, headers={"Content-Type": "application/xml", "X-Auth-Token": self.exp_auth_token, "ACCEPT": "application/xml"}) @@ -154,11 +159,11 @@ class create_global_group_test(global_group_test): self.assertEqual(403, int(resp['status'])) def test_global_group_create_missing_token(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") url = '%sgroups' % (utils.URL) body = {"group": {"id": self.global_group, "description": "A description ..."}} - resp, content = h.request(url, "POST", body=json.dumps(body), + resp, content = header.request(url, "POST", body=json.dumps(body), headers={"Content-Type": "application/json"}) if int(resp['status']) == 500: self.fail('IDM fault') @@ -167,13 +172,13 @@ class create_global_group_test(global_group_test): self.assertEqual(401, int(resp['status'])) def test_global_group_create_missing_token_xml(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") url = '%sgroups' % (utils.URL) body = ' \ A description... \ ' % self.global_group - resp, content = h.request(url, "POST", body=body, + resp, content = header.request(url, "POST", body=body, headers={"Content-Type": "application/xml", "ACCEPT": "application/xml"}) if int(resp['status']) == 500: @@ -183,11 +188,11 @@ class create_global_group_test(global_group_test): self.assertEqual(401, int(resp['status'])) def test_global_group_create_disabled_token(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") url = '%sgroups' % (utils.URL) body = '{"group": { "id": "%s", \ "description": "A description ..." } }' % self.global_group - resp, content = h.request(url, "POST", body=body, + resp, content = header.request(url, "POST", body=body, headers={"Content-Type": "application/json", "X-Auth-Token": \ self.disabled_token}) @@ -198,13 +203,13 @@ class create_global_group_test(global_group_test): self.assertEqual(403, int(resp['status'])) def test_global_group_create_disabled_token_xml(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") url = '%sgroups' % (utils.URL) body = ' \ A description... \ ' % self.global_group - resp, content = h.request(url, "POST", body=body, + resp, content = header.request(url, "POST", body=body, headers={"Content-Type": "application/xml", "X-Auth-Token": self.disabled_token, "ACCEPT": "application/xml"}) @@ -215,11 +220,11 @@ class create_global_group_test(global_group_test): self.assertEqual(403, int(resp['status'])) def test_global_group_create_invalid_token(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") url = '%sgroups' % (utils.URL) body = '{"group": { "id": "%s", \ "description": "A description ..." } }' % self.globaltenant - resp, content = h.request(url, "POST", body=body, + resp, content = header.request(url, "POST", body=body, headers={"Content-Type": "application/json", "X-Auth-Token": 'nonexsitingtoken'}) if int(resp['status']) == 500: @@ -229,13 +234,13 @@ class create_global_group_test(global_group_test): self.assertEqual(404, int(resp['status'])) def test_global_group_create_invalid_token_xml(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") url = '%sgroups' % (utils.URL) body = ' \ A description... \ ' % self.global_group - resp, content = h.request(url, "POST", body=body, + resp, content = header.request(url, "POST", body=body, headers={"Content-Type": "application/xml", "X-Auth-Token": 'nonexsitingtoken', "ACCEPT": "application/xml"}) @@ -246,17 +251,17 @@ class create_global_group_test(global_group_test): self.assertEqual(404, int(resp['status'])) -class get_global_groups_test(global_group_test): +class GetGlobalGroupsTest(GlobalGroupTest): def test_get_global_groups(self): - h = httplib2.Http(".cache") - respG, contentG = utils.delete_global_group(self.global_group, + header = httplib2.Http(".cache") + resp_new, content_new = utils.delete_global_group(self.global_group, str(self.auth_token)) - respG, contentG = utils.create_global_group(self.global_group, + resp_new, content_new = utils.create_global_group(self.global_group, str(self.auth_token)) url = '%sgroups' % (utils.URL) - resp, content = h.request(url, "GET", body='{}', + resp, content = header.request(url, "GET", body='{}', headers={"Content-Type": "application/json", "X-Auth-Token": self.auth_token}) if int(resp['status']) == 500: @@ -266,11 +271,12 @@ class get_global_groups_test(global_group_test): self.assertEqual(200, int(resp['status'])) def test_get_global_groups_xml(self): - h = httplib2.Http(".cache") - respG, contentG = utils.create_global_group_xml(self.global_group, - str(self.auth_token)) + header = httplib2.Http(".cache") + resp_new, content_new = utils.create_global_group_xml(\ + self.global_group, + str(self.auth_token)) url = '%sgroups' % (utils.URL) - resp, content = h.request(url, "GET", body='', + resp, content = header.request(url, "GET", body='', headers={"Content-Type": "application/xml", "X-Auth-Token": self.auth_token, "ACCEPT": "application/xml"}) @@ -281,12 +287,12 @@ class get_global_groups_test(global_group_test): self.assertEqual(200, int(resp['status'])) def test_get_global_groups_unauthorized_token(self): - h = httplib2.Http(".cache") - respG, contentG = utils.create_global_group(self.global_group, + header = httplib2.Http(".cache") + resp_new, content_new = utils.create_global_group(self.global_group, str(self.auth_token)) url = '%sgroups' % (utils.URL) #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', + resp, content = header.request(url, "GET", body='{}', headers={"Content-Type": "application/json", "X-Auth-Token": self.token}) if int(resp['status']) == 500: @@ -296,12 +302,13 @@ class get_global_groups_test(global_group_test): self.assertEqual(401, int(resp['status'])) def test_get_global_groups_unauthorized_token_xml(self): - h = httplib2.Http(".cache") - respG, contentG = utils.create_global_group_xml(self.global_group, - str(self.auth_token)) + header = httplib2.Http(".cache") + resp_new, content_new = utils.create_global_group_xml(\ + self.global_group, + str(self.auth_token)) url = '%sgroups' % (utils.URL) #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', + resp, content = header.request(url, "GET", body='', headers={"Content-Type": "application/xml", "X-Auth-Token": self.token, "ACCEPT": "application/xml"}) @@ -313,11 +320,11 @@ class get_global_groups_test(global_group_test): def test_get_global_groups_exp_token(self): h = httplib2.Http(".cache") - respG, contentG = utils.create_global_group(self.global_group, + resp_new, content_new = utils.create_global_group(self.global_group, str(self.auth_token)) url = '%sgroups' % (utils.URL) #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', + resp, content = header.request(url, "GET", body='{}', headers={"Content-Type": "application/json", "X-Auth-Token": \ self.exp_auth_token}) @@ -328,12 +335,13 @@ class get_global_groups_test(global_group_test): self.assertEqual(403, int(resp['status'])) def test_get_global_groups_exp_token_xml(self): - h = httplib2.Http(".cache") - respG, contentG = utils.create_global_group_xml(self.global_group, - str(self.auth_token)) + header = httplib2.Http(".cache") + resp_new, content_new = utils.create_global_group_xml(\ + self.global_group, + str(self.auth_token)) url = '%sgroups' % (utils.URL) #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', + resp, content = header.request(url, "GET", body='', headers={"Content-Type": "application/xml", "X-Auth-Token": self.exp_auth_token, "ACCEPT": "application/xml"}) @@ -344,15 +352,15 @@ class get_global_groups_test(global_group_test): self.assertEqual(403, int(resp['status'])) -class get_global_group_test(global_group_test): +class GetGlobalGroupGest(GlobalGroupTest): def test_get_global_group(self): - h = httplib2.Http(".cache") - respG, contentG = utils.create_global_group(self.global_group, + header = httplib2.Http(".cache") + resp_new, content_new = utils.create_global_group(self.global_group, str(self.auth_token)) url = '%sgroups/%s' % (utils.URL, self.global_group) #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', + resp, content = header.request(url, "GET", body='{}', headers={"Content-Type": "application/json", "X-Auth-Token": self.auth_token}) if int(resp['status']) == 500: @@ -362,12 +370,13 @@ class get_global_group_test(global_group_test): self.assertEqual(200, int(resp['status'])) def test_get_global_group_xml(self): - h = httplib2.Http(".cache") - respG, contentG = utils.create_global_group_xml(self.global_group, - str(self.auth_token)) + header = httplib2.Http(".cache") + resp_new, content_new = utils.create_global_group_xml(\ + self.global_group, + str(self.auth_token)) url = '%sgroups/%s' % (utils.URL, self.global_group) #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', + resp, content = header.request(url, "GET", body='', headers={"Content-Type": "application/xml", "X-Auth-Token": self.auth_token, "ACCEPT": "application/xml"}) @@ -378,12 +387,12 @@ class get_global_group_test(global_group_test): self.assertEqual(200, int(resp['status'])) def test_get_global_group_bad(self): - h = httplib2.Http(".cache") - respG, contentG = utils.create_global_group(self.global_group, + header = httplib2.Http(".cache") + resp_new, content_new = utils.create_global_group(self.global_group, str(self.auth_token)) url = '%sgroups/%s' % (utils.URL, 'global_group_bad') #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', + resp, content = header.request(url, "GET", body='', headers={"Content-Type": "application/json", "X-Auth-Token": self.auth_token}) if int(resp['status']) == 500: @@ -393,12 +402,13 @@ class get_global_group_test(global_group_test): self.assertEqual(404, int(resp['status'])) def test_get_global_group_bad_xml(self): - h = httplib2.Http(".cache") - respG, contentG = utils.create_global_group_xml(self.global_group, - str(self.auth_token)) + header = httplib2.Http(".cache") + resp_new, content_new = utils.create_global_group_xml(\ + self.global_group, + str(self.auth_token)) url = '%sgroups/%s' % (utils.URL, 'global_group_bad') #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', + resp, content = header.request(url, "GET", body='', headers={"Content-Type": "application/xml", "X-Auth-Token": self.auth_token, "ACCEPT": "application/xml"}) @@ -409,14 +419,14 @@ class get_global_group_test(global_group_test): self.assertEqual(404, int(resp['status'])) -class update_global_groups_test(global_group_test): +class UpdateGlobalGroupsTest(GlobalGroupTest): def test_update_global_group(self): - h = httplib2.Http(".cache") - respG, contentG = utils.create_global_group(self.global_group, + header = httplib2.Http(".cache") + resp_new, content_new = utils.create_global_group(self.global_group, str(self.auth_token)) url = '%sgroups/%s' % (utils.URL, self.global_group) - resp, content = h.request(url, "PUT", body='{"group":{\ + resp, content = header.request(url, "PUT", body='{"group":{\ "id" : "%s","description" :\ "A New description of the group..."}}' % self.global_group, headers={"Content-Type": "application/json", @@ -432,8 +442,8 @@ class update_global_groups_test(global_group_test): str(body['group']['description'])) def test_update_global_group_xml(self): - h = httplib2.Http(".cache") - respG, contentG = utils.create_global_group(self.global_group, + header = httplib2.Http(".cache") + resp_new, content_new = utils.create_global_group(self.global_group, str(self.auth_token)) url = '%sgroups/%s' % (utils.URL, self.global_group) @@ -442,7 +452,7 @@ class update_global_groups_test(global_group_test): id="%s">A NEW description... \ ' % (self.global_group) #test for Content-Type = application/json - resp, content = h.request(url, "PUT", body=data, + resp, content = header.request(url, "PUT", body=data, headers={"Content-Type": "application/xml", "X-Auth-Token": self.auth_token, "ACCEPT": "application/xml"}) @@ -458,15 +468,15 @@ class update_global_groups_test(global_group_test): self.assertEqual('A NEW description...', desc.text) def test_update_global_group_bad(self): - h = httplib2.Http(".cache") - respG, contentG = utils.create_global_group(self.global_group, + header = httplib2.Http(".cache") + resp_new, content_new = utils.create_global_group(self.global_group, str(self.auth_token)) url = '%sgroups/%s' % (utils.URL, self.global_group) data = '{"group": { "description_bad": "A NEW description...", \ "id":"%s" }}'\ % (self.global_group) #test for Content-Type = application/json - resp, content = h.request(url, "PUT", body=data, + resp, content = header.request(url, "PUT", body=data, headers={"Content-Type": "application/json", "X-Auth-Token": self.auth_token}) if int(resp['status']) == 500: @@ -476,8 +486,9 @@ class update_global_groups_test(global_group_test): self.assertEqual(400, int(resp['status'])) def test_update_global_group_bad_xml(self): - h = httplib2.Http(".cache") - respG, contentG = utils.create_global_group_xml(self.global_group, + header = httplib2.Http(".cache") + resp_new, content_new = utils.create_global_group_xml(\ + self.global_group, str(self.auth_token)) url = '%sgroups/%s' % (utils.URL, self.global_group) data = ' \ @@ -485,7 +496,7 @@ class update_global_groups_test(global_group_test): id="%s">A NEW description... \ ' % (self.global_group) #test for Content-Type = application/json - resp, content = h.request(url, "PUT", body=data, + resp, content = header.request(url, "PUT", body=data, headers={"Content-Type": "application/xml", "X-Auth-Token": self.auth_token, "ACCEPT": "application/xml"}) @@ -497,20 +508,20 @@ class update_global_groups_test(global_group_test): self.assertEqual(400, int(resp['status'])) def test_update_global_group_not_found(self): - h = httplib2.Http(".cache") - respG, contentG = utils.create_global_group(self.global_group, + header = httplib2.Http(".cache") + resp_new, content_new = utils.create_global_group(self.global_group, str(self.auth_token)) url = '%sgroups/NonexistingID' % (utils.URL) data = '{"group": { "description": "A NEW description...", \ "id":"NonexistingID"}}' #test for Content-Type = application/json - resp, content = h.request(url, "GET", body=data, + resp, content = header.request(url, "GET", body=data, headers={"Content-Type": "application/json", "X-Auth-Token": self.auth_token}) self.assertEqual(404, int(resp['status'])) def test_update_global_group_not_found_xml(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") resp, content = utils.create_tenant_xml(self.globaltenant, str(self.auth_token)) url = '%sgroups/NonexistingID' % (utils.URL) @@ -520,7 +531,7 @@ class update_global_groups_test(global_group_test): A NEW description... \ ' #test for Content-Type = application/json - resp, content = h.request(url, "GET", body=data, + resp, content = header.request(url, "GET", body=data, headers={"Content-Type": "application/xml", "X-Auth-Token": self.auth_token, "ACCEPT": "application/xml"}) @@ -531,7 +542,7 @@ class update_global_groups_test(global_group_test): self.assertEqual(404, int(resp['status'])) -class delete_global_group_test(global_group_test): +class DeleteGlobalGroupTest(GlobalGroupTest): def test_delete_global_group_not_found(self): resp, content = utils.delete_global_group("test_global_group_1", @@ -546,23 +557,25 @@ class delete_global_group_test(global_group_test): def test_delete_global_group(self): resp, content = utils.create_tenant(self.globaltenant, str(self.auth_token)) - respG, contentG = utils.create_tenant_group('test_global_group_delete', - self.globaltenant, - str(self.auth_token)) - respG, contentG = utils.delete_global_group('test_global_group_delete', + resp_new, content_new = utils.create_tenant_group(\ + 'test_global_group_delete', + self.globaltenant, str(self.auth_token)) + resp_new, content_new = utils.delete_global_group(\ + 'test_global_group_delete', + str(self.auth_token)) resp, content = utils.delete_tenant(self.globaltenant, str(self.auth_token)) - self.assertEqual(204, int(respG['status'])) + self.assertEqual(204, int(resp_new['status'])) def test_delete_global_group_xml(self): resp, content = utils.create_tenant_xml(self.globaltenant, str(self.auth_token)) - respG, contentG = utils.create_tenant_group_xml(\ + resp_new, content_new = utils.create_tenant_group_xml(\ 'test_global_group_delete', self.globaltenant, str(self.auth_token)) - respG, contentG = utils.delete_global_group_xml(\ + resp_new, content_new = utils.delete_global_group_xml(\ 'test_global_group_delete', str(self.auth_token)) resp, content = utils.delete_tenant_xml(self.globaltenant, @@ -570,7 +583,7 @@ class delete_global_group_test(global_group_test): self.assertEqual(204, int(resp['status'])) -class add_user_global_group_test(unittest.TestCase): +class AddUserGlobalGroupTest(unittest.TestCase): def setUp(self): self.tenant = utils.get_global_tenant() @@ -584,9 +597,10 @@ class add_user_global_group_test(unittest.TestCase): self.global_group = 'test_global_group' def tearDown(self): - respG, contentG = utils.delete_user_global_group(self.global_group, - self.user, - str(self.auth_token)) + resp_new, content_new = utils.delete_user_global_group(\ + self.global_group, + self.user, + str(self.auth_token)) resp = utils.delete_user(self.tenant, self.user, str(self.auth_token)) @@ -594,12 +608,12 @@ class add_user_global_group_test(unittest.TestCase): self.auth_token) def test_add_user_global_group(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") resp, content = utils.create_global_group(self.global_group, str(self.auth_token)) - respG, contentG = utils.create_user(self.tenant, self.user, + resp_new, content_new = utils.create_user(self.tenant, self.user, str(self.auth_token)) - respG, contentG = utils.add_user_global_group(self.global_group, + resp_new, content_new = utils.add_user_global_group(self.global_group, self.user, str(self.auth_token)) @@ -607,16 +621,17 @@ class add_user_global_group_test(unittest.TestCase): self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - if int(respG['status']) not in (200, 201): - self.fail('Failed due to %d' % int(respG['status'])) + if int(resp_new['status']) not in (200, 201): + self.fail('Failed due to %d' % int(resp_new['status'])) def test_add_user_global_group_xml(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") resp, content = utils.create_global_group(self.global_group, str(self.auth_token)) - respG, contentG = utils.create_user(self.tenant, self.user, + resp_new, content_new = utils.create_user(self.tenant, self.user, str(self.auth_token)) - respG, contentG = utils.add_user_global_group_xml(self.global_group, + resp_new, content_new = utils.add_user_global_group_xml(\ + self.global_group, self.user, str(self.auth_token)) @@ -624,19 +639,19 @@ class add_user_global_group_test(unittest.TestCase): self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - if int(respG['status']) not in (200, 201): - self.fail('Failed due to %d' % int(respG['status'])) + if int(resp_new['status']) not in (200, 201): + self.fail('Failed due to %d' % int(resp_new['status'])) def test_add_user_global_group_conflict(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") resp, content = utils.create_global_group(self.global_group, str(self.auth_token)) - respG, contentG = utils.create_user(self.tenant, self.user, + resp_new, content_new = utils.create_user(self.tenant, self.user, str(self.auth_token)) - respG, contentG = utils.add_user_global_group(self.global_group, + resp_new, content_new = utils.add_user_global_group(self.global_group, self.user, str(self.auth_token)) - respG, contentG = utils.add_user_global_group(self.global_group, + resp_new, content_new = utils.add_user_global_group(self.global_group, self.user, str(self.auth_token)) @@ -644,18 +659,20 @@ class add_user_global_group_test(unittest.TestCase): self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - self.assertEqual(409, int(respG['status'])) + self.assertEqual(409, int(resp_new['status'])) def test_add_user_global_group_conflict_xml(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") resp, content = utils.create_global_group(self.global_group, str(self.auth_token)) - respG, contentG = utils.create_user(self.tenant, self.user, + resp_new, content_new = utils.create_user(self.tenant, self.user, str(self.auth_token)) - respG, contentG = utils.add_user_global_group_xml(self.global_group, + resp_new, content_new = utils.add_user_global_group_xml(\ + self.global_group, self.user, str(self.auth_token)) - respG, contentG = utils.add_user_global_group_xml(self.global_group, + resp_new, content_new = utils.add_user_global_group_xml(\ + self.global_group, self.user, str(self.auth_token)) @@ -663,15 +680,15 @@ class add_user_global_group_test(unittest.TestCase): self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - self.assertEqual(409, int(respG['status'])) + self.assertEqual(409, int(resp_new['status'])) def test_add_user_global_group_unauthorized(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") resp, content = utils.create_global_group(self.global_group, str(self.auth_token)) - respG, contentG = utils.create_user(self.tenant, self.user, + resp_new, content_new = utils.create_user(self.tenant, self.user, str(self.auth_token)) - respG, contentG = utils.add_user_global_group(self.global_group, + resp_new, content_new = utils.add_user_global_group(self.global_group, self.user, str(self.token)) @@ -679,15 +696,16 @@ class add_user_global_group_test(unittest.TestCase): self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - self.assertEqual(401, int(respG['status'])) + self.assertEqual(401, int(resp_new['status'])) def test_add_user_global_group_unauthorized_xml(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") resp, content = utils.create_global_group(self.global_group, str(self.auth_token)) - respG, contentG = utils.create_user(self.tenant, self.user, + resp_new, content_new = utils.create_user(self.tenant, self.user, str(self.auth_token)) - respG, contentG = utils.add_user_global_group_xml(self.global_group, + resp_new, content_new = utils.add_user_global_group_xml(\ + self.global_group, self.user, str(self.token)) @@ -695,15 +713,16 @@ class add_user_global_group_test(unittest.TestCase): self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - self.assertEqual(401, int(respG['status'])) + self.assertEqual(401, int(resp_new['status'])) def test_add_user_global_group_forbidden(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") resp, content = utils.create_global_group(self.global_group, str(self.auth_token)) - respG, contentG = utils.create_user(self.tenant, self.user, + resp_new, content_new = utils.create_user(self.tenant, self.user, str(self.auth_token)) - respG, contentG = utils.add_user_global_group(self.global_group, + resp_new, content_new = utils.add_user_global_group(\ + self.global_group, self.user, str(self.disabled_token)) @@ -711,28 +730,28 @@ class add_user_global_group_test(unittest.TestCase): self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) + self.assertEqual(403, int(resp_new['status'])) def test_add_user_global_group_forbidden_xml(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") resp, content = utils.create_global_group(self.global_group, str(self.auth_token)) - respG, contentG = utils.create_user(self.tenant, self.user, + resp_new, content_new = utils.create_user(self.tenant, self.user, str(self.auth_token)) - respG, contentG = utils.add_user_global_group_xml(self.global_group, + resp_new, content_new = utils.add_user_global_group_xml(\ + self.global_group, self.user, str(self.disabled_token)) if int(resp['status']) == 500: self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) + self.assertEqual(403, int(resp_new['status'])) -class get_users_tenant_group_test(unittest.TestCase): +class GetUsersTenantGroupTest(unittest.TestCase): def setUp(self): - self.tenant = utils.get_global_tenant() self.token = utils.get_token('joeuser', 'secrete', self.tenant, 'token') @@ -744,158 +763,174 @@ class get_users_tenant_group_test(unittest.TestCase): self.global_group = 'test_global_group' def tearDown(self): - respG, contentG = utils.delete_user_global_group(self.global_group, + resp_new, content_new = utils.delete_user_global_group(\ + self.global_group, self.user, str(self.auth_token)) - respG = utils.delete_user(self.tenant, self.user, + resp_new = utils.delete_user(self.tenant, self.user, str(self.auth_token)) resp, content = utils.delete_global_group(self.global_group, self.auth_token) def test_get_users_global_group(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") resp, content = utils.create_global_group(self.global_group, str(self.auth_token)) - respG, contentG = utils.create_user(self.tenant, self.user, + resp_new, content_new = utils.create_user(self.tenant, self.user, str(self.auth_token)) - respG, contentG = utils.add_user_global_group(self.global_group, + resp_new, content_new = utils.add_user_global_group(\ + self.global_group, self.user, str(self.auth_token)) - respG, contentG = utils.get_user_global_group(self.global_group, + resp_new, content_new = utils.get_user_global_group(\ + self.global_group, str(self.auth_token)) if int(resp['status']) == 500: self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - self.assertEqual(200, int(respG['status'])) + self.assertEqual(200, int(resp_new['status'])) def test_get_users_global_group_xml(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") resp, content = utils.create_global_group(self.global_group, str(self.auth_token)) - respG, contentG = utils.create_user(self.tenant, self.user, + resp_new, content_new = utils.create_user(self.tenant, self.user, str(self.auth_token)) - respG, contentG = utils.add_user_global_group_xml(self.global_group, + resp_new, content_new = utils.add_user_global_group_xml(\ + self.global_group, self.user, str(self.auth_token)) - respG, contentG = utils.get_user_global_group_xml(self.global_group, + resp_new, content_new = utils.get_user_global_group_xml(\ + self.global_group, str(self.auth_token)) if int(resp['status']) == 500: self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - self.assertEqual(200, int(respG['status'])) + self.assertEqual(200, int(resp_new['status'])) def test_get_users_global_group_unauthorized(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") resp, content = utils.create_global_group(self.global_group, str(self.auth_token)) - respG, contentG = utils.create_user(self.tenant, self.user, + resp_new, content_new = utils.create_user(self.tenant, self.user, str(self.auth_token)) - respG, contentG = utils.add_user_global_group(self.global_group, + resp_new, content_new = utils.add_user_global_group(\ + self.global_group, self.user, str(self.auth_token)) - respG, contentG = utils.get_user_global_group(self.global_group, + resp_new, content_new = utils.get_user_global_group(\ + self.global_group, str(self.token)) if int(resp['status']) == 500: self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - self.assertEqual(401, int(respG['status'])) + self.assertEqual(401, int(resp_new['status'])) def test_get_users_global_group_unauthorized_xml(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") resp, content = utils.create_global_group(self.global_group, str(self.auth_token)) - respG, contentG = utils.create_user(self.tenant, self.user, + resp_new, content_new = utils.create_user(self.tenant, self.user, str(self.auth_token)) - respG, contentG = utils.add_user_global_group(self.global_group, + resp_new, content_new = utils.add_user_global_group(\ + self.global_group, self.user, str(self.auth_token)) - respG, contentG = utils.get_user_global_group_xml(self.global_group, + resp_new, content_new = utils.get_user_global_group_xml(\ + self.global_group, str(self.token)) if int(resp['status']) == 500: self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - self.assertEqual(401, int(respG['status'])) + self.assertEqual(401, int(resp_new['status'])) def test_get_users_global_group_forbidden(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") resp, content = utils.create_global_group(self.global_group, str(self.auth_token)) - respG, contentG = utils.create_user(self.tenant, self.user, + resp_new, content_new = utils.create_user(self.tenant, self.user, str(self.auth_token)) - respG, contentG = utils.add_user_global_group(self.global_group, + resp_new, content_new = utils.add_user_global_group(\ + self.global_group, self.user, str(self.auth_token)) - respG, contentG = utils.get_user_global_group(self.global_group, + resp_new, content_new = utils.get_user_global_group(\ + self.global_group, str(self.disabled_token)) if int(resp['status']) == 500: self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) + self.assertEqual(403, int(resp_new['status'])) def test_get_users_global_group_forbidden_xml(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") resp, content = utils.create_global_group(self.global_group, str(self.auth_token)) - respG, contentG = utils.create_user(self.tenant, self.user, + resp_new, content_new = utils.create_user(self.tenant, self.user, str(self.auth_token)) - respG, contentG = utils.add_user_global_group(self.global_group, + resp_new, content_new = utils.add_user_global_group(\ + self.global_group, self.user, str(self.auth_token)) - respG, contentG = utils.get_user_global_group_xml(self.global_group, + resp_new, content_new = utils.get_user_global_group_xml(\ + self.global_group, str(self.disabled_token)) if int(resp['status']) == 500: self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) + self.assertEqual(403, int(resp_new['status'])) def test_get_users_global_group_expired(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") resp, content = utils.create_global_group(self.global_group, str(self.auth_token)) - respG, contentG = utils.create_user(self.tenant, self.user, + resp_new, content_new = utils.create_user(self.tenant, self.user, str(self.auth_token)) - respG, contentG = utils.add_user_global_group(self.global_group, + resp_new, content_new = utils.add_user_global_group(\ + self.global_group, self.user, str(self.auth_token)) - respG, contentG = utils.get_user_global_group(self.global_group, + resp_new, content_new = utils.get_user_global_group(\ + self.global_group, str(self.exp_auth_token)) if int(resp['status']) == 500: self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) + self.assertEqual(403, int(resp_new['status'])) def test_get_users_global_group_expired_xml(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") resp, content = utils.create_global_group(self.global_group, str(self.auth_token)) - respG, contentG = utils.create_user(self.tenant, self.user, + resp_new, content_new = utils.create_user(self.tenant, self.user, str(self.auth_token)) - respG, contentG = utils.add_user_global_group(self.global_group, + resp_new, content_new = utils.add_user_global_group(self.global_group, self.user, str(self.auth_token)) - respG, contentG = utils.get_user_global_group_xml(self.global_group, + resp_new, content_new = utils.get_user_global_group_xml(\ + self.global_group, str(self.exp_auth_token)) if int(resp['status']) == 500: self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) + self.assertEqual(403, int(resp_new['status'])) -class delete_users_global_group_test(unittest.TestCase): +class DeleteUsersGlobalGroupTest(unittest.TestCase): def setUp(self): self.tenant = utils.get_global_tenant() @@ -909,7 +944,8 @@ class delete_users_global_group_test(unittest.TestCase): self.global_group = 'test_global_group' def tearDown(self): - respG, contentG = utils.delete_user_global_group(self.global_group, + resp_new, content_new = utils.delete_user_global_group(\ + self.global_group, self.user, str(self.auth_token)) @@ -919,16 +955,17 @@ class delete_users_global_group_test(unittest.TestCase): self.auth_token) def test_delete_user_global_group(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") resp, content = utils.create_global_group(self.global_group, str(self.auth_token)) - respG, contentG = utils.create_user(self.tenant, self.user, + resp_new, content_new = utils.create_user(self.tenant, self.user, str(self.auth_token)) - respG, contentG = utils.add_user_global_group(self.global_group, + resp_new, content_new = utils.add_user_global_group(self.global_group, self.user, str(self.auth_token)) - respG, contentG = utils.delete_user_global_group(self.global_group, + resp_new, content_new = utils.delete_user_global_group(\ + self.global_group, self.user, str(self.auth_token)) @@ -936,68 +973,72 @@ class delete_users_global_group_test(unittest.TestCase): self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - self.assertEqual(204, int(respG['status'])) + self.assertEqual(204, int(resp_new['status'])) def test_delete_user_global_group_xml(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") resp, content = utils.create_global_group(self.global_group, str(self.auth_token)) - respG, contentG = utils.create_user(self.tenant, self.user, + resp_new, content_new = utils.create_user(self.tenant, self.user, str(self.auth_token)) - respG, contentG = utils.add_user_global_group(self.global_group, + resp_new, content_new = utils.add_user_global_group(self.global_group, self.user, str(self.auth_token)) - respG, contentG = utils.delete_user_global_group_xml(self.global_group, + resp_new, content_new = utils.delete_user_global_group_xml(\ + self.global_group, self.user, str(self.auth_token)) if int(resp['status']) == 500: self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - self.assertEqual(204, int(respG['status'])) + self.assertEqual(204, int(resp_new['status'])) def test_delete_user_global_group_notfound(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") resp, content = utils.create_global_group(self.global_group, str(self.auth_token)) - respG, contentG = utils.create_user(self.tenant, self.user, + resp_new, content_new = utils.create_user(self.tenant, self.user, str(self.auth_token)) - respG, contentG = utils.add_user_global_group(self.global_group, + resp_new, content_new = utils.add_user_global_group(self.global_group, self.user, str(self.disabled_token)) - respG, contentG = utils.delete_user_global_group(self.global_group, + resp_new, content_new = utils.delete_user_global_group(\ + self.global_group, self.user, str(self.auth_token)) - respG, contentG = utils.delete_user_global_group(self.global_group, + resp_new, content_new = utils.delete_user_global_group(\ + self.global_group, self.user, str(self.auth_token)) if int(resp['status']) == 500: self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - self.assertEqual(404, int(respG['status'])) + self.assertEqual(404, int(resp_new['status'])) def test_delete_user_global_group_notfound_xml(self): h = httplib2.Http(".cache") resp, content = utils.create_global_group(self.global_group, str(self.auth_token)) - respG, contentG = utils.create_user(self.tenant, self.user, + if int(resp['status']) == 500: + self.fail('IDM fault') + elif int(resp['status']) == 503: + self.fail('Service Not Available') + resp_new, content_new = utils.create_user(self.tenant, self.user, str(self.auth_token)) - respG, contentG = utils.add_user_global_group(self.global_group, + resp_new, content_new = utils.add_user_global_group(self.global_group, self.user, str(self.disabled_token)) - respG, contentG = utils.delete_user_global_group(self.global_group, + resp_new, content_new = utils.delete_user_global_group(\ + self.global_group, self.user, str(self.auth_token)) - respG, contentG = utils.delete_user_global_group_xml(self.global_group, + resp_new, content_new = utils.delete_user_global_group_xml(\ + self.global_group, self.user, str(self.auth_token)) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(respG['status'])) + self.assertEqual(404, int(resp_new['status'])) if __name__ == '__main__': unittest.main() diff --git a/test/unit/test_tenant_groups.py b/test/unit/test_tenant_groups.py index 040d84fe..ca733d10 100644 --- a/test/unit/test_tenant_groups.py +++ b/test/unit/test_tenant_groups.py @@ -11,7 +11,7 @@ from lxml import etree import test_common as util -class tenant_group_test(unittest.TestCase): +class TenantGroupTest(unittest.TestCase): def setUp(self): self.tenant = util.get_tenant() @@ -31,7 +31,7 @@ class tenant_group_test(unittest.TestCase): resp, content = util.delete_tenant(self.tenant, self.auth_token) -class create_tenant_group_test(tenant_group_test): +class CreateTenantGroupTest(TenantGroupTest): def test_tenant_group_create(self): @@ -313,7 +313,7 @@ class create_tenant_group_test(tenant_group_test): self.assertEqual(404, int(resp['status'])) -class get_tenant_groups_test(tenant_group_test): +class GetTenantGroupsTest(TenantGroupTest): def test_get_tenant_groups(self): header = httplib2.Http(".cache") @@ -424,7 +424,7 @@ class get_tenant_groups_test(tenant_group_test): self.assertEqual(403, int(resp['status'])) -class get_tenant_group_test(tenant_group_test): +class GetTenantGroupTest(TenantGroupTest): def test_get_tenant_group(self): header = httplib2.Http(".cache") @@ -540,7 +540,7 @@ class get_tenant_group_test(tenant_group_test): self.assertEqual(404, int(resp['status'])) -class update_tenant_group_test(tenant_group_test): +class UpdateTenantGroupTest(TenantGroupTest): def test_update_tenant_group(self): header = httplib2.Http(".cache") @@ -706,7 +706,7 @@ class update_tenant_group_test(tenant_group_test): self.assertEqual(404, int(resp['status'])) -class delete_tenant_group_test(tenant_group_test): +class DeleteTenantGroupTest(TenantGroupTest): def test_delete_tenant_group_not_found(self): resp, content = util.delete_tenant_group("test_tenant_delete111", @@ -747,7 +747,7 @@ class delete_tenant_group_test(tenant_group_test): self.assertEqual(204, int(resp['status'])) -class add_user_tenant_group_test(tenant_group_test): +class AddUserTenantGroupTest(TenantGroupTest): def setUp(self): self.tenant = 'test_tenant' @@ -929,7 +929,7 @@ class add_user_tenant_group_test(tenant_group_test): self.assertEqual(403, int(resp['status'])) -class get_users_tenant_group_test(tenant_group_test): +class GetUsersTenantGroupTest(TenantGroupTest): def setUp(self): self.tenant = 'test_tenant' @@ -1124,7 +1124,7 @@ class get_users_tenant_group_test(tenant_group_test): self.assertEqual(403, int(resp['status'])) -class delete_users_tenant_group_test(tenant_group_test): +class DeleteUsersTenantGroupTest(TenantGroupTest): def test_delete_user_tenant_group(self): resp, content = util.create_tenant(self.tenant, str(self.auth_token)) diff --git a/test/unit/test_tenants.py b/test/unit/test_tenants.py index 3bcc0da5..256f9a9c 100644 --- a/test/unit/test_tenants.py +++ b/test/unit/test_tenants.py @@ -10,7 +10,7 @@ from lxml import etree import test_common as utils -class tenant_test(unittest.TestCase): +class TenantTest(unittest.TestCase): def setUp(self): self.tenant = 'test_tenant' @@ -26,7 +26,7 @@ class tenant_test(unittest.TestCase): resp, content = utils.delete_tenant(self.tenant, self.auth_token) -class create_tenant_test(tenant_test): +class CreateTenantTest(TenantTest): def test_tenant_create(self): resp, content = utils.delete_tenant(self.tenant, str(self.auth_token)) @@ -303,7 +303,7 @@ class create_tenant_test(tenant_test): self.assertEqual(404, int(resp['status'])) -class get_tenants_test(tenant_test): +class GetTenantsTest(TenantTest): def test_get_tenants(self): header = httplib2.Http(".cache") @@ -393,7 +393,7 @@ class get_tenants_test(tenant_test): self.assertEqual(403, int(resp['status'])) -class get_tenant_test(tenant_test): +class GetTenantTest(TenantTest): def test_get_tenant(self): header = httplib2.Http(".cache") @@ -483,7 +483,7 @@ class get_tenant_test(tenant_test): self.assertEqual(404, int(resp['status'])) -class update_tenant_test(tenant_test): +class UpdateTenantTest(TenantTest): def test_update_tenant(self): header = httplib2.Http(".cache") @@ -604,7 +604,7 @@ class update_tenant_test(tenant_test): self.assertEqual(404, int(resp['status'])) -class delete_tenant_test(tenant_test): +class DeleteTenantTest(TenantTest): def test_delete_tenant_not_found(self): #resp,content=utils.create_tenant("test_tenant_delete", diff --git a/test/unit/test_token.py b/test/unit/test_token.py index 5f858cd5..9eee2391 100644 --- a/test/unit/test_token.py +++ b/test/unit/test_token.py @@ -8,7 +8,7 @@ import httplib2 import test_common as utils -class validate_token(unittest.TestCase): +class ValidateToken(unittest.TestCase): def setUp(self): self.tenant = utils.get_tenant() diff --git a/test/unit/test_users.py b/test/unit/test_users.py index 91e27f72..b3f472c0 100644 --- a/test/unit/test_users.py +++ b/test/unit/test_users.py @@ -12,7 +12,7 @@ import test_common as utils from test_common import URL -class user_test(unittest.TestCase): +class UserTest(unittest.TestCase): def setUp(self): self.token = utils.get_token('joeuser', 'secrete', 'token') @@ -31,7 +31,7 @@ class user_test(unittest.TestCase): utils.delete_user(self.tenant, self.user, str(self.auth_token)) -class create_user_test(user_test): +class CreateUserTest(UserTest): def test_a_user_create_json(self): utils.delete_user(self.tenant, self.user, str(self.auth_token)) @@ -160,7 +160,7 @@ class create_user_test(user_test): self.assertEqual('application/xml', utils.content_type(resp)) -class get_user_test(user_test): +class GetUserTest(UserTest): def test_a_user_get(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) @@ -301,7 +301,7 @@ class get_user_test(user_test): utils.content_type(resp)) -class delete_user_test(user_test): +class DeleteUserTest(UserTest): def test_a_user_delete(self): utils.create_user(self.tenant, self.user, @@ -428,7 +428,7 @@ class delete_user_test(user_test): self.assertEqual('application/xml', utils.content_type(resp)) -class get_users_test(user_test): +class GetUsersTest(UserTest): def test_users_get(self): resp, content = utils.users_get_json(self.tenant, self.auth_token) @@ -545,7 +545,7 @@ class get_users_test(user_test): self.assertEqual('application/xml', utils.content_type(resp)) -class get_users_group_test(user_test): +class GetUsersGroupTest(UserTest): def test_users_group_get(self): resp, content = utils.users_group_get_json(self.tenant, @@ -686,7 +686,7 @@ class get_users_group_test(user_test): self.assertEqual('application/xml', utils.content_type(resp)) -class update_user_test(user_test): +class UpdateUserTest(UserTest): def test_user_update(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) @@ -924,7 +924,7 @@ class update_user_test(user_test): self.assertEqual('application/xml', utils.content_type(resp)) -class set_password_test(user_test): +class SetPasswordTest(UserTest): def test_user_password(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) @@ -1134,7 +1134,7 @@ class set_password_test(user_test): self.assertEqual('application/xml', utils.content_type(resp)) -class set_enabled_test(user_test): +class SetEnabledEest(UserTest): def test_user_enabled(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) diff --git a/test/unit/test_version.py b/test/unit/test_version.py index 76b013ab..6dd5ba86 100644 --- a/test/unit/test_version.py +++ b/test/unit/test_version.py @@ -8,7 +8,7 @@ import httplib2 import test_common as utils -class version_test(unittest.TestCase): +class VersionTest(unittest.TestCase): #Given _a_ to make inherited test cases in an order. #here to call below method will call as last test case -- cgit From 191e0377d5bf02bf1d53c044624e300767e510da Mon Sep 17 00:00:00 2001 From: Sai Krishna Date: Mon, 16 May 2011 15:22:07 +0530 Subject: Moved all Server functions to utils.py --- keystone/server.py | 350 ++++++++++++++++++----------------------------- keystone/utils.py | 152 ++++++++++++++++++++ test/unit/test_groups.py | 2 +- 3 files changed, 284 insertions(+), 220 deletions(-) create mode 100644 keystone/utils.py diff --git a/keystone/server.py b/keystone/server.py index ba981d2b..b73d67d1 100755 --- a/keystone/server.py +++ b/keystone/server.py @@ -64,6 +64,7 @@ import keystone.logic.types.auth as auth import keystone.logic.types.fault as fault import keystone.logic.types.user as users import keystone.common.template as template +import keystone.utils as utils logger = logging.getLogger('keystone.server') @@ -73,101 +74,6 @@ VERSION_DATE = "2011-04-23T00:00:00Z" service = serv.IDMService() -# -# General Functions for the server.py use -# -def is_xml_response(req): - if not "Accept" in req.headers: - return False - return req.content_type == "application/xml" - - -def get_app_root(): - return os.path.abspath(os.path.dirname(__file__)) - - -def get_auth_token(req): - auth_token = None - if "X-Auth-Token" in req.headers: - auth_token = req.headers["X-Auth-Token"] - return auth_token - - -def wrap_error(func): - - @functools.wraps(func) - def check_error(*args, **kwargs): - try: - return func(*args, **kwargs) - except Exception as err: - if isinstance(err, fault.IDMFault): - return send_error(err.code, kwargs['req'], err) - else: - logging.exception(err) - return send_error(500, kwargs['req'], - fault.IDMFault("Unhandled error", str(err))) - return check_error - - -def get_normalized_request_content(model, req): - """Initialize a model from json/xml contents of request body""" - - if req.content_type == "application/xml": - ret = model.from_xml(req.body) - elif req.content_type == "application/json": - ret = model.from_json(req.body) - else: - raise fault.IDMFault("I don't understand the content type ", code=415) - return ret - - -def send_error(code, req, result): - content = None - resp = Response() - - resp.headers['content-type'] = None - resp.status = code - - if result: - - if is_xml_response(req): - - content = result.to_xml() - resp.headers['content-type'] = "application/xml" - else: - - content = result.to_json() - resp.headers['content-type'] = "application/json" - - resp.content_type_params = {'charset': 'UTF-8'} - resp.unicode_body = content.decode('UTF-8') - - return resp - - -def send_result(code, req, result): - content = None - resp = Response() - resp.headers['content-type'] = None - resp.status = code - if code > 399: - return resp - - if result: - - if is_xml_response(req): - content = result.to_xml() - resp.headers['content-type'] = "application/xml" - else: - content = result.to_json() - resp.headers['content-type'] = "application/json" - - resp.content_type_params = {'charset': 'UTF-8'} - resp.unicode_body = content.decode('UTF-8') - - return resp - - class StaticFilesController(wsgi.Controller): """ Static Files Controller - @@ -177,32 +83,32 @@ class StaticFilesController(wsgi.Controller): def __init__(self, options): self.options = options - @wrap_error + @utils.wrap_error def get_pdf_contract(self, req): resp = Response() return template.static_file(resp, req, "content/idmdevguide.pdf", - root=get_app_root(), + root=utils.get_app_root(), mimetype="application/pdf") - @wrap_error + @utils.wrap_error def get_wadl_contract(self, req): resp = Response() return template.static_file(resp, req, "identity.wadl", - root=get_app_root(), + root=utils.get_app_root(), mimetype="application/vnd.sun.wadl+xml") - @wrap_error + @utils.wrap_error def get_xsd_contract(self, req, xsd): resp = Response() return template.static_file(resp, req, "/xsd/" + xsd, - root=get_app_root(), + root=utils.get_app_root(), mimetype="application/xml") - @wrap_error + @utils.wrap_error def get_xsd_atom_contract(self, req, xsd): resp = Response() return template.static_file(resp, req, "/xsd/atom/" + xsd, - root=get_app_root(), + root=utils.get_app_root(), mimetype="application/xml") @@ -215,12 +121,12 @@ class VersionController(wsgi.Controller): def __init__(self, options): self.options = options - @wrap_error + @utils.wrap_error def get_version_info(self, req): resp = Response() resp.charset = 'UTF-8' - if is_xml_response(req): + if utils.is_xml_response(req): resp_file = os.path.join(POSSIBLE_TOPDIR, "keystone/content/version.xml.tpl") resp.content_type = "application/xml" @@ -248,28 +154,29 @@ class AuthController(wsgi.Controller): self.options = options self.request = None - @wrap_error + @utils.wrap_error def authenticate(self, req): self.request = req - creds = get_normalized_request_content(auth.PasswordCredentials, req) - return send_result(200, req, service.authenticate(creds)) + creds = utils.get_normalized_request_content(auth.PasswordCredentials, + req) + return utils.send_result(200, req, service.authenticate(creds)) - @wrap_error + @utils.wrap_error def validate_token(self, req, token_id): belongs_to = None if "belongsTo" in req.GET: belongs_to = req.GET["belongsTo"] - rval = service.validate_token(get_auth_token(req), + rval = service.validate_token(utils.get_auth_token(req), token_id, belongs_to) - return send_result(200, req, rval) + return utils.send_result(200, req, rval) - @wrap_error + @utils.wrap_error def delete_token(self, req, token_id): - return send_result(204, req, - service.revoke_token(get_auth_token(req), token_id)) + return utils.send_result(204, req, + service.revoke_token(utils.get_auth_token(req), token_id)) class TenantController(wsgi.Controller): @@ -281,13 +188,13 @@ class TenantController(wsgi.Controller): def __init__(self, options): self.options = options - @wrap_error + @utils.wrap_error def create_tenant(self, req): - tenant = get_normalized_request_content(tenants.Tenant, req) - return send_result(201, req, - service.create_tenant(get_auth_token(req), tenant)) + tenant = utils.get_normalized_request_content(tenants.Tenant, req) + return utils.send_result(201, req, + service.create_tenant(utils.get_auth_token(req), tenant)) - @wrap_error + @utils.wrap_error def get_tenants(self, req): marker = None if "marker" in req.GET: @@ -303,33 +210,35 @@ class TenantController(wsgi.Controller): req.environ.get("SERVER_PORT"), req.environ['PATH_INFO']) - tenants = service.get_tenants(get_auth_token(req), marker, limit, url) - return send_result(200, req, tenants) + tenants = service.get_tenants(utils.get_auth_token(req), marker, + limit, url) + return utils.send_result(200, req, tenants) - @wrap_error + @utils.wrap_error def get_tenant(self, req, tenant_id): - tenant = service.get_tenant(get_auth_token(req), tenant_id) - return send_result(200, req, tenant) + tenant = service.get_tenant(utils.get_auth_token(req), tenant_id) + return utils.send_result(200, req, tenant) - @wrap_error + @utils.wrap_error def update_tenant(self, req, tenant_id): - tenant = get_normalized_request_content(tenants.Tenant, req) - rval = service.update_tenant(get_auth_token(req), tenant_id, tenant) - return send_result(200, req, rval) + tenant = utils.get_normalized_request_content(tenants.Tenant, req) + rval = service.update_tenant(utils.get_auth_token(req), tenant_id, + tenant) + return utils.send_result(200, req, rval) - @wrap_error + @utils.wrap_error def delete_tenant(self, req, tenant_id): - rval = service.delete_tenant(get_auth_token(req), tenant_id) - return send_result(204, req, rval) + rval = service.delete_tenant(utils.get_auth_token(req), tenant_id) + return utils.send_result(204, req, rval) - @wrap_error + @utils.wrap_error def create_tenant_group(self, req, tenant_id): - group = get_normalized_request_content(tenants.Group, req) - return send_result(201, req, - service.create_tenant_group(get_auth_token(req), + group = utils.get_normalized_request_content(tenants.Group, req) + return utils.send_result(201, req, + service.create_tenant_group(utils.get_auth_token(req), tenant_id, group)) - @wrap_error + @utils.wrap_error def get_tenant_groups(self, req, tenant_id): marker = None if "marker" in req.GET: @@ -345,30 +254,30 @@ class TenantController(wsgi.Controller): req.environ.get("SERVER_PORT"), req.environ['PATH_INFO']) - groups = service.get_tenant_groups(get_auth_token(req), + groups = service.get_tenant_groups(utils.get_auth_token(req), tenant_id, marker, limit, url) - return send_result(200, req, groups) + return utils.send_result(200, req, groups) - @wrap_error + @utils.wrap_error def get_tenant_group(self, req, tenant_id, group_id): - tenant = service.get_tenant_group(get_auth_token(req), tenant_id, + tenant = service.get_tenant_group(utils.get_auth_token(req), tenant_id, group_id) - return send_result(200, req, tenant) + return utils.send_result(200, req, tenant) - @wrap_error + @utils.wrap_error def update_tenant_group(self, req, tenant_id, group_id): - group = get_normalized_request_content(tenants.Group, req) - rval = service.update_tenant_group(get_auth_token(req), + group = utils.get_normalized_request_content(tenants.Group, req) + rval = service.update_tenant_group(utils.get_auth_token(req), tenant_id, group_id, group) - return send_result(200, req, rval) + return utils.send_result(200, req, rval) - @wrap_error + @utils.wrap_error def delete_tenant_group(self, req, tenant_id, group_id): - rval = service.delete_tenant_group(get_auth_token(req), tenant_id, - group_id) - return send_result(204, req, rval) + rval = service.delete_tenant_group(utils.get_auth_token(req), + tenant_id, group_id) + return utils.send_result(204, req, rval) - @wrap_error + @utils.wrap_error def get_users_tenant_group(self, req, tenant_id, group_id): marker = None if "marker" in req.GET: @@ -384,20 +293,21 @@ class TenantController(wsgi.Controller): req.environ.get("SERVER_PORT"), req.environ['PATH_INFO']) - users = service.get_users_tenant_group(get_auth_token(req), tenant_id, - group_id, marker, limit, url) - return send_result(200, req, users) + users = service.get_users_tenant_group(utils.get_auth_token(req), + tenant_id, group_id, marker, + limit, url) + return utils.send_result(200, req, users) - @wrap_error + @utils.wrap_error def add_user_tenant_group(self, req, tenant_id, group_id, user_id): - return send_result(201, req, service.add_user_tenant_group(\ - get_auth_token(req), tenant_id, group_id, + return utils.send_result(201, req, service.add_user_tenant_group(\ + utils.get_auth_token(req), tenant_id, group_id, user_id)) - @wrap_error + @utils.wrap_error def delete_user_tenant_group(self, req, tenant_id, group_id, user_id): - return send_result(204, req, service.delete_user_tenant_group(\ - get_auth_token(req), tenant_id, group_id, + return utils.send_result(204, req, service.delete_user_tenant_group(\ + utils.get_auth_token(req), tenant_id, group_id, user_id)) @@ -410,14 +320,14 @@ class UserController(wsgi.Controller): def __init__(self, options): self.options = options - @wrap_error + @utils.wrap_error def create_user(self, req, tenant_id): - user = get_normalized_request_content(users.User, req) - return send_result(201, req, - service.create_user(get_auth_token(req), \ + user = utils.get_normalized_request_content(users.User, req) + return utils.send_result(201, req, + service.create_user(utils.get_auth_token(req), \ tenant_id, user)) - @wrap_error + @utils.wrap_error def get_tenant_users(self, req, tenant_id): marker = None if "marker" in req.GET: @@ -430,11 +340,11 @@ class UserController(wsgi.Controller): req.environ.get("SERVER_NAME"), req.environ.get("SERVER_PORT"), req.environ['PATH_INFO']) - users = service.get_tenant_users(get_auth_token(req), \ + users = service.get_tenant_users(utils.get_auth_token(req), \ tenant_id, marker, limit, url) - return send_result(200, req, users) + return utils.send_result(200, req, users) - @wrap_error + @utils.wrap_error def get_user_groups(self, req, tenant_id, user_id): marker = None if "marker" in req.GET: @@ -449,45 +359,47 @@ class UserController(wsgi.Controller): req.environ.get("SERVER_PORT"), req.environ['PATH_INFO']) - groups = service.get_user_groups(get_auth_token(req), + groups = service.get_user_groups(utils.get_auth_token(req), tenant_id, user_id, marker, limit, url) - return send_result(200, req, groups) + return utils.send_result(200, req, groups) - @wrap_error + @utils.wrap_error def get_user(self, req, tenant_id, user_id): - user = service.get_user(get_auth_token(req), tenant_id, user_id) - return send_result(200, req, user) + user = service.get_user(utils.get_auth_token(req), tenant_id, user_id) + return utils.send_result(200, req, user) - @wrap_error + @utils.wrap_error def update_user(self, req, user_id, tenant_id): - user = get_normalized_request_content(users.User_Update, req) - rval = service.update_user(get_auth_token(req), + user = utils.get_normalized_request_content(users.User_Update, req) + rval = service.update_user(utils.get_auth_token(req), user_id, user, tenant_id) - return send_result(200, req, rval) + return utils.send_result(200, req, rval) - @wrap_error + @utils.wrap_error def delete_user(self, req, user_id, tenant_id): - rval = service.delete_user(get_auth_token(req), user_id, tenant_id) - return send_result(204, req, rval) + rval = service.delete_user(utils.get_auth_token(req), user_id, + tenant_id) + return utils.send_result(204, req, rval) - @wrap_error + @utils.wrap_error def set_user_password(self, req, user_id, tenant_id): - user = get_normalized_request_content(users.User_Update, req) - rval = service.set_user_password(get_auth_token(req), user_id, user, - tenant_id) - return send_result(200, req, rval) + user = utils.get_normalized_request_content(users.User_Update, req) + rval = service.set_user_password(utils.get_auth_token(req), user_id, + user, tenant_id) + return utils.send_result(200, req, rval) - @wrap_error + @utils.wrap_error def set_user_enabled(self, req, user_id, tenant_id): - user = get_normalized_request_content(users.User_Update, req) - rval = service.enable_disable_user(get_auth_token(req), user_id, user, - tenant_id) - return send_result(200, req, rval) - - @wrap_error + user = utils.get_normalized_request_content(users.User_Update, req) + rval = service.enable_disable_user(utils.get_auth_token(req), user_id, + user, tenant_id) + return utils.send_result(200, req, rval) + + @utils.wrap_error def add_user_tenant(self, req, user_id, tenant_id): - rval = service.add_user_tenant(get_auth_token(req), user_id, tenant_id) - return send_result(200, req, rval) + rval = service.add_user_tenant(utils.get_auth_token(req), user_id, + tenant_id) + return utils.send_result(200, req, rval) class GroupsController(wsgi.Controller): @@ -499,14 +411,14 @@ class GroupsController(wsgi.Controller): def __init__(self, options): self.options = options - @wrap_error + @utils.wrap_error def create_group(self, req): - group = get_normalized_request_content(tenants.GlobalGroup, req) - return send_result(201, req, - service.create_global_group(get_auth_token(req), + group = utils.get_normalized_request_content(tenants.GlobalGroup, req) + return utils.send_result(201, req, + service.create_global_group(utils.get_auth_token(req), group)) - @wrap_error + @utils.wrap_error def get_groups(self, req): marker = None if "marker" in req.GET: @@ -521,29 +433,29 @@ class GroupsController(wsgi.Controller): req.environ.get("SERVER_NAME"), req.environ.get("SERVER_PORT"), req.environ['PATH_INFO']) - groups = service.get_global_groups(get_auth_token(req), + groups = service.get_global_groups(utils.get_auth_token(req), marker, limit, url) - return send_result(200, req, groups) + return utils.send_result(200, req, groups) - @wrap_error + @utils.wrap_error def get_group(self, req, group_id): - tenant = service.get_global_group(get_auth_token(req), group_id) - return send_result(200, req, tenant) + tenant = service.get_global_group(utils.get_auth_token(req), group_id) + return utils.send_result(200, req, tenant) - @wrap_error + @utils.wrap_error def update_group(self, req, group_id): - group = get_normalized_request_content(tenants.GlobalGroup, req) - rval = service.update_global_group(get_auth_token(req), + group = utils.get_normalized_request_content(tenants.GlobalGroup, req) + rval = service.update_global_group(utils.get_auth_token(req), group_id, group) - return send_result(200, req, rval) + return utils.send_result(200, req, rval) - @wrap_error + @utils.wrap_error def delete_group(self, req, group_id): - rval = service.delete_global_group(get_auth_token(req), group_id) - return send_result(204, req, rval) + rval = service.delete_global_group(utils.get_auth_token(req), group_id) + return utils.send_result(204, req, rval) - @wrap_error + @utils.wrap_error def get_users_global_group(self, req, group_id): marker = None @@ -560,21 +472,21 @@ class GroupsController(wsgi.Controller): req.environ.get("SERVER_PORT"), req.environ['PATH_INFO']) - users = service.get_users_global_group(get_auth_token(req), + users = service.get_users_global_group(utils.get_auth_token(req), group_id, marker, limit, url) - return send_result(200, req, users) + return utils.send_result(200, req, users) - @wrap_error + @utils.wrap_error def add_user_global_group(self, req, group_id, user_id): - return send_result(201, req, service.add_user_global_group(\ - get_auth_token(req), group_id, user_id)) + return utils.send_result(201, req, service.add_user_global_group(\ + utils.get_auth_token(req), group_id, user_id)) - @wrap_error + @utils.wrap_error def delete_user_global_group(self, req, group_id, user_id): - return send_result(204, req, service.delete_user_global_group(\ - get_auth_token(req), group_id, user_id)) + return utils.send_result(204, req, service.delete_user_global_group(\ + utils.get_auth_token(req), group_id, user_id)) class KeystoneAPI(wsgi.Router): diff --git a/keystone/utils.py b/keystone/utils.py new file mode 100644 index 00000000..85099d3a --- /dev/null +++ b/keystone/utils.py @@ -0,0 +1,152 @@ +# vim: tabstop=4 shiftwidth=4 softtabstop=4 +# Copyright (c) 2010-2011 OpenStack, LLC. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +""" +Service that stores identities and issues and manages tokens + +HEADERS +------- +HTTP_ is a standard http header +HTTP_X is an extended http header + +> Coming in from initial call +HTTP_X_AUTH_TOKEN : the client token being passed in +HTTP_X_STORAGE_TOKEN: the client token being passed in (legacy Rackspace use) + to support cloud files +> Used for communication between components +www-authenticate : only used if this component is being used remotely +HTTP_AUTHORIZATION : basic auth password used to validate the connection + +> What we add to the request for use by the OpenStack service +HTTP_X_AUTHORIZATION: the client identity being passed in + +""" +import functools +import httplib +import json +import logging +import os +import routes +import sys +from webob import Response +from webob import Request +from webob import descriptors +from webob.exc import (HTTPNotFound, + HTTPConflict, + HTTPBadRequest) + +POSSIBLE_TOPDIR = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]), + os.pardir, + os.pardir)) +if os.path.exists(os.path.join(POSSIBLE_TOPDIR, 'keystone', '__init__.py')): + sys.path.insert(0, POSSIBLE_TOPDIR) + + +from queryext import exthandler +import keystone.logic.types.fault as fault + + +def is_xml_response(req): + if not "Accept" in req.headers: + return False + return req.content_type == "application/xml" + + +def get_app_root(): + return os.path.abspath(os.path.dirname(__file__)) + + +def get_auth_token(req): + auth_token = None + if "X-Auth-Token" in req.headers: + auth_token = req.headers["X-Auth-Token"] + return auth_token + + +def wrap_error(func): + + @functools.wraps(func) + def check_error(*args, **kwargs): + try: + return func(*args, **kwargs) + except Exception as err: + if isinstance(err, fault.IDMFault): + return send_error(err.code, kwargs['req'], err) + else: + logging.exception(err) + return send_error(500, kwargs['req'], + fault.IDMFault("Unhandled error", str(err))) + return check_error + + +def get_normalized_request_content(model, req): + """Initialize a model from json/xml contents of request body""" + + if req.content_type == "application/xml": + ret = model.from_xml(req.body) + elif req.content_type == "application/json": + ret = model.from_json(req.body) + else: + raise fault.IDMFault("I don't understand the content type ", code=415) + return ret + + +def send_error(code, req, result): + content = None + resp = Response() + + resp.headers['content-type'] = None + resp.status = code + + if result: + + if is_xml_response(req): + + content = result.to_xml() + resp.headers['content-type'] = "application/xml" + else: + + content = result.to_json() + resp.headers['content-type'] = "application/json" + + resp.content_type_params = {'charset': 'UTF-8'} + resp.unicode_body = content.decode('UTF-8') + + return resp + + +def send_result(code, req, result): + content = None + resp = Response() + resp.headers['content-type'] = None + resp.status = code + if code > 399: + return resp + + if result: + + if is_xml_response(req): + content = result.to_xml() + resp.headers['content-type'] = "application/xml" + else: + content = result.to_json() + resp.headers['content-type'] = "application/json" + + resp.content_type_params = {'charset': 'UTF-8'} + resp.unicode_body = content.decode('UTF-8') + + return resp diff --git a/test/unit/test_groups.py b/test/unit/test_groups.py index 43173f36..ebf3e628 100644 --- a/test/unit/test_groups.py +++ b/test/unit/test_groups.py @@ -319,7 +319,7 @@ class GetGlobalGroupsTest(GlobalGroupTest): self.assertEqual(401, int(resp['status'])) def test_get_global_groups_exp_token(self): - h = httplib2.Http(".cache") + header = httplib2.Http(".cache") resp_new, content_new = utils.create_global_group(self.global_group, str(self.auth_token)) url = '%sgroups' % (utils.URL) -- cgit From 647d4bb99cb48789947d2840ca50f8af3dd07c6f Mon Sep 17 00:00:00 2001 From: "sirish.bitra" Date: Mon, 16 May 2011 15:35:34 +0530 Subject: multi token test cases and bug fixes --- keystone/db/sqlalchemy/api.py | 9 +----- keystone/logic/service.py | 11 ++++---- test/unit/test_authentication.py | 59 +++++++++++++++++++++++++++++++++++----- test/unit/test_common.py | 44 +++++++++++++++++++++++------- test/unit/test_token.py | 7 +++-- 5 files changed, 97 insertions(+), 33 deletions(-) diff --git a/keystone/db/sqlalchemy/api.py b/keystone/db/sqlalchemy/api.py index 3f5ec52f..9e5fa6f8 100644 --- a/keystone/db/sqlalchemy/api.py +++ b/keystone/db/sqlalchemy/api.py @@ -274,13 +274,6 @@ def user_get(id, session=None): return result -def user_get_by_tenant(id, tenant_id, session=None): - if not session: - session = get_session() - user_tenant = session.query(models.UserTenantAssociation).filter_by(\ - tenant_id=tenant_id, user_id=id).first() - print '1' * 80 - return user_tenant def user_get_email(email, session=None): @@ -703,7 +696,7 @@ def user_delete_tenant(id, tenant_id, session=None): for group_user in group_users: session.delete(group_user) user_tenant_ref = session.query(models.UserTenantAssociation)\ - .filter_by(user_id=id, tenant_id=tenant_id).first() + .filter_by(user_id=id).first() if user_tenant_ref is None: user_ref = user_get(id, session) session.delete(user_ref) diff --git a/keystone/logic/service.py b/keystone/logic/service.py index fc66d8d6..6d07e386 100644 --- a/keystone/logic/service.py +++ b/keystone/logic/service.py @@ -57,8 +57,7 @@ class IDMService(object): credentials.tenant_id) """ # added following code - dtoken = db_api.token_for_user_tenant(duser.id, - credentials.tenant_id) + dtoken = db_api.token_for_user_tenant(duser.id, credentials.tenant_id) #--- if not dtoken or dtoken.expires < datetime.now(): dtoken = db_models.Token() @@ -69,11 +68,13 @@ class IDMService(object): raise fault.IDMFault("Strange: user %s is not associated " "with a tenant!" % duser.id) user = db_api.user_get_by_tenant(duser.id, credentials.tenant_id) - if not credentials.tenant_id and user: - raise fault.IDMFault("Error: user %s is not associated " + + if not credentials.tenant_id or not user: + raise fault.ForbiddenFault("Error: user %s is " + "not associated " "with a tenant! %s" % (duser.id, credentials.tenant_id)) - dtoken.tenant_id = credentials.tenant_id + dtoken.tenant_id = credentials.tenant_id #removing following code for multi token """else: dtoken.tenant_id = duser.tenants[0].tenant_id""" diff --git a/test/unit/test_authentication.py b/test/unit/test_authentication.py index 6f7af0f7..3946f1f3 100644 --- a/test/unit/test_authentication.py +++ b/test/unit/test_authentication.py @@ -18,11 +18,11 @@ class AuthenticationTest(unittest.TestCase): self.tenant = utils.get_tenant() self.token = utils.get_token('joeuser', 'secrete', self.tenant, 'token') - self.user = utils.get_user() + #self.user = utils.get_user() self.userdisabled = utils.get_userdisabled() self.auth_token = utils.get_auth_token() - self.exp_auth_token = utils.get_exp_auth_token() - self.disabled_token = utils.get_disabled_token() + #self.exp_auth_token = utils.get_exp_auth_token() + #self.disabled_token = utils.get_disabled_token() def tearDown(self): utils.delete_token(self.token, self.auth_token) @@ -41,11 +41,12 @@ class AuthenticationTest(unittest.TestCase): def test_a_authorize_user_disabled(self): header = httplib2.Http(".cache") url = '%stoken' % utils.URL - body = {"passwordCredentials": {"username": "disabled", + body = {"passwordCredentials": {"username": self.userdisabled, "password": "secrete", "tenantId" : self.tenant}} resp, content = header.request(url, "POST", body=json.dumps(body), headers={"Content-Type": "application/json"}) + content = json.loads(content) if int(resp['status']) == 500: self.fail('IDM fault') @@ -60,11 +61,12 @@ class AuthenticationTest(unittest.TestCase): body = ' \ ' % self.tenant + password="secrete" username="%s" \ + tenantId="%s"/>' % (self.userdisabled, self.tenant) resp, content = header.request(url, "POST", body=body, headers={"Content-Type": "application/xml", "ACCEPT": "application/xml"}) + content = etree.fromstring(content) if int(resp['status']) == 500: self.fail('IDM fault') @@ -94,7 +96,7 @@ class AuthenticationTest(unittest.TestCase): url = '%stoken' % utils.URL body = ' \ ' % self.tenant resp, content = header.request(url, "POST", body=body, @@ -108,5 +110,48 @@ class AuthenticationTest(unittest.TestCase): self.assertEqual(400, int(resp['status'])) self.assertEqual('application/xml', utils.content_type(resp)) +class MultiToken(unittest.TestCase): + def setUp(self): + self.auth_token = utils.get_auth_token() + self.userdisabled = utils.get_userdisabled() + resp1, content1 = utils.create_tenant('test_tenant1', self.auth_token) + #create tenant2 + resp2, content2 = utils.create_tenant('test_tenant2', self.auth_token) + #create user1 with tenant1 + resp3, content3 = utils.create_user('test_tenant1', 'test_user1', + self.auth_token) + resp3, content3 = utils.create_user('test_tenant1', 'test_user2', + self.auth_token) + #add user1 to tenant2 + resp4, content4 = utils.add_user_json('test_tenant2', 'test_user1', + self.auth_token) + #self.exp_auth_token = utils.get_exp_auth_token() + #self.disabled_token = utils.get_disabled_token() + + def tearDown(self): + utils.delete_user('test_tenant1', 'test_user1', self.auth_token) + utils.delete_user('test_tenant1', 'test_user2', self.auth_token) + utils.delete_user('test_tenant2', 'test_user1', self.auth_token) + utils.delete_tenant('test_tenant1', self.auth_token) + utils.delete_tenant('test_tenant2', self.auth_token) + + def test_multi_token(self): + #get token for user1 with tenant1 + token1 = utils.get_token('test_user1', 'secrete', 'test_tenant1', 'token') + #get token for user 1 with tenant2 + token2 = utils.get_token('test_user1', 'secrete', 'test_tenant2', 'token') + #test result :: both token should be different + self.assertNotEqual(token1, None) + self.assertNotEqual(token2, None) + self.assertNotEqual(token1, token2) + + resp = utils.delete_token(token1, self.auth_token) + resp = utils.delete_token(token2, self.auth_token) + + def test_unassigned_user(self): + resp, content = utils.get_token('test_user2', 'secrete', 'test_tenant2') + + self.assertEqual(403, int(resp['status'])) + if __name__ == '__main__': unittest.main() diff --git a/test/unit/test_common.py b/test/unit/test_common.py index 86088ed4..51452a19 100644 --- a/test/unit/test_common.py +++ b/test/unit/test_common.py @@ -14,7 +14,7 @@ from lxml import etree URL = 'http://localhost:8080/v1.0/' -def get_token(user, pswd, tenant_id, kind='',): +def get_token(user, pswd, tenant_id, kind=''): header = httplib2.Http(".cache") url = '%stoken' % URL # to test multi token, removing below code @@ -33,12 +33,17 @@ def get_token(user, pswd, tenant_id, kind='',): #--- resp, content = header.request(url, "POST", body=json.dumps(body), headers={"Content-Type": "application/json"}) - content = json.loads(content) - token = str(content['auth']['token']['id']) + + if int(resp['status']) == 200: + content = json.loads(content) + token = str(content['auth']['token']['id']) + else: + token = None if kind == 'token': return token else: return (resp, content) + def delete_token(token, auth_token): @@ -81,7 +86,7 @@ def delete_tenant(tenantid, auth_token): resp, content = header.request(url, "DELETE", body='{}', headers={"Content-Type": "application/json", "X-Auth-Token": auth_token}) - return (resp, content) + return resp def delete_tenant_group(groupid, tenantid, auth_token): @@ -164,10 +169,13 @@ def get_token_xml(user, pswd, tenant_id, type=''): headers={"Content-Type": "application/xml", "ACCEPT": "application/xml"}) - dom = etree.fromstring(content) - root = dom.find("{http://docs.openstack.org/idm/api/v1.0}token") - token_root = root.attrib - token = str(token_root['id']) + if int(resp['status']) == 200: + dom = etree.fromstring(content) + root = dom.find("{http://docs.openstack.org/idm/api/v1.0}token") + token_root = root.attrib + token = str(token_root['id']) + else: + token = None if type == 'token': return token else: @@ -221,7 +229,7 @@ def delete_tenant_xml(tenantid, auth_token): headers={"Content-Type": "application/xml", "X-Auth-Token": auth_token, "ACCEPT": "application/xml"}) - return (resp, content) + return resp def delete_tenant_group_xml(groupid, tenantid, auth_token): @@ -254,7 +262,7 @@ def delete_user(tenant, userid, auth_token): resp, content = header.request(url, "DELETE", body='{}', headers={"Content-Type": "application/json", "X-Auth-Token": auth_token}) - + print content return resp @@ -292,6 +300,22 @@ def delete_user_xml(tenantid, userid, auth_token): "ACCEPT": "application/xml"}) return resp +def add_user_json(tenantid, userid, auth_token): + header = httplib2.Http(".cache") + url = '%stenants/%s/users/%s/add' % (URL, tenantid, userid) + resp, content = header.request(url, "PUT", body='{}', + headers={"Content-Type": "application/json", + "X-Auth-Token": auth_token}) + return (resp, content) + +def add_user_xml(tenantid, userid, auth_token): + header = httplib2.Http(".cache") + url = '%stenants/%s/users/%s/add' % (URL, tenantid, userid) + resp, content = header.request(url, "PUT", body='{}', + headers={"Content-Type": "application/xml", + "X-Auth-Token": auth_token, + "ACCEPT": "application/xml"}) + return (resp, content) def user_update_json(tenant_id, user_id, auth_token, email=None): h = httplib2.Http(".cache") diff --git a/test/unit/test_token.py b/test/unit/test_token.py index 9eee2391..ee72a521 100644 --- a/test/unit/test_token.py +++ b/test/unit/test_token.py @@ -1,5 +1,6 @@ import os import sys + # Need to access identity module sys.path.append(os.path.abspath(os.path.join(os.path.abspath(__file__), '..', '..', '..', '..', 'keystone'))) @@ -13,11 +14,11 @@ class ValidateToken(unittest.TestCase): def setUp(self): self.tenant = utils.get_tenant() self.token = utils.get_token('joeuser', 'secrete', self.tenant, 'token') - self.user = utils.get_user() - self.userdisabled = utils.get_userdisabled() + #self.user = utils.get_user() + #self.userdisabled = utils.get_userdisabled() self.auth_token = utils.get_auth_token() self.exp_auth_token = utils.get_exp_auth_token() - self.disabled_token = utils.get_disabled_token() + #self.disabled_token = utils.get_disabled_token() def tearDown(self): utils.delete_token(self.token, self.auth_token) -- cgit From 386be87914087743a52cc6ede3b244e2338d9c5c Mon Sep 17 00:00:00 2001 From: jabdul Date: Mon, 16 May 2011 15:38:26 +0530 Subject: Added test cases for add user to a tenanat --- keystone/db/sqlalchemy/api.py | 11 +- keystone/logic/service.py | 10 +- keystone/server.py | 4 +- test/unit/test_common.py | 43 ++++++-- test/unit/test_users.py | 248 +++++++++++++++++++++++++++++++++++++++++- 5 files changed, 290 insertions(+), 26 deletions(-) diff --git a/keystone/db/sqlalchemy/api.py b/keystone/db/sqlalchemy/api.py index 0a8cd83a..f313b0f7 100644 --- a/keystone/db/sqlalchemy/api.py +++ b/keystone/db/sqlalchemy/api.py @@ -274,15 +274,6 @@ def user_get(id, session=None): return result -def user_get_by_tenant(id, tenant_id, session=None): - if not session: - session = get_session() - user_tenant = session.query(models.UserTenantAssociation).filter_by(\ - tenant_id=tenant_id, user_id=id).first() - print '1' * 80 - return user_tenant - - def user_get_email(email, session=None): if not session: session = get_session() @@ -702,7 +693,7 @@ def user_delete_tenant(id, tenant_id, session=None): for group_user in group_users: session.delete(group_user) user_tenant_ref = session.query(models.UserTenantAssociation)\ - .filter_by(user_id=id, tenant_id=tenant_id).first() + .filter_by(user_id=id).first() if user_tenant_ref is None: user_ref = user_get(id, session) session.delete(user_ref) diff --git a/keystone/logic/service.py b/keystone/logic/service.py index ccb6c98f..5232610f 100644 --- a/keystone/logic/service.py +++ b/keystone/logic/service.py @@ -51,15 +51,15 @@ class IDMService(object): # Look for an existing token, or create one, # TODO: Handle tenant/token search # - # removing following code for multi-token + # removing following code for multi-token """if not credentials.tenant_id: dtoken = db_api.token_for_user(duser.id) else: - dtoken = db_api.token_for_user_tenant(duser.id, + dtoken = db_api.token_for_user_tenant(duser.id, credentials.tenant_id) """ # added following code - dtoken = db_api.token_for_user_tenant(duser.id, + dtoken = db_api.token_for_user_tenant(duser.id, credentials.tenant_id) #--- if not dtoken or dtoken.expires < datetime.now(): @@ -419,7 +419,9 @@ class IDMService(object): # def create_user(self, admin_token, tenant_id, user): self.__validate_token(admin_token) - + print "@" * 80 + print tenant_id + print user dtenant = db_api.tenant_get(tenant_id) if dtenant == None: raise fault.UnauthorizedFault("Unauthorized") diff --git a/keystone/server.py b/keystone/server.py index d8cd18b8..e5eb93d5 100755 --- a/keystone/server.py +++ b/keystone/server.py @@ -374,7 +374,7 @@ class TenantController(wsgi.Controller): def get_users_tenant_group(self, req, tenant_id, group_id): marker = None if "marker" in req.GET: - marker = request.GET["marker"] + marker = req.GET["marker"] if "limit" in req.GET: limit = req.GET["limit"] @@ -485,7 +485,7 @@ class UserController(wsgi.Controller): rval = service.enable_disable_user(get_auth_token(req), user_id, user, tenant_id) return send_result(200, req, rval) - + @wrap_error def add_user_tenant(self, req, user_id, tenant_id): rval = service.add_user_tenant(get_auth_token(req), user_id, tenant_id) diff --git a/test/unit/test_common.py b/test/unit/test_common.py index 86088ed4..e32e5c69 100644 --- a/test/unit/test_common.py +++ b/test/unit/test_common.py @@ -163,7 +163,6 @@ def get_token_xml(user, pswd, tenant_id, type=''): resp, content = header.request(url, "POST", body=body, headers={"Content-Type": "application/xml", "ACCEPT": "application/xml"}) - dom = etree.fromstring(content) root = dom.find("{http://docs.openstack.org/idm/api/v1.0}token") token_root = root.attrib @@ -234,13 +233,17 @@ def delete_tenant_group_xml(groupid, tenantid, auth_token): return (resp, content) -def create_user(tenantid, userid, auth_token): +def create_user(tenantid, userid, auth_token, email=None): header = httplib2.Http(".cache") url = '%stenants/%s/users' % (URL, tenantid) + if email is not None: + email_id = email + else: + email_id = "%s@rackspace.com" % userid body = {"user": {"password": "secrete", "id": userid, "tenantId": tenantid, - "email": "%s@rackspace.com" % userid, + "email": "%s" % email_id, "enabled": True}} resp, content = header.request(url, "POST", body=json.dumps(body), headers={"Content-Type": "application/json", @@ -254,18 +257,21 @@ def delete_user(tenant, userid, auth_token): resp, content = header.request(url, "DELETE", body='{}', headers={"Content-Type": "application/json", "X-Auth-Token": auth_token}) - return resp -def create_user_xml(tenantid, userid, auth_token): +def create_user_xml(tenantid, userid, auth_token, email=None): header = httplib2.Http(".cache") url = '%stenants/%s/users' % (URL, tenantid) + if email is not None: + email_id = email + else: + email_id = userid body = ' \ ' % (tenantid, userid) + enabled="true" password="secrete"/>' % (email_id, tenantid, userid) resp, content = header.request(url, "POST", body=body, headers={"Content-Type": "application/xml", "X-Auth-Token": auth_token, @@ -293,6 +299,25 @@ def delete_user_xml(tenantid, userid, auth_token): return resp +def add_user_json(tenantid, userid, auth_token): + header = httplib2.Http(".cache") + url = '%stenants/%s/users/%s/add' % (URL, tenantid, userid) + resp, content = header.request(url, "PUT", body='{}', + headers={"Content-Type": "application/json", + "X-Auth-Token": auth_token}) + return (resp, content) + + +def add_user_xml(tenantid, userid, auth_token): + header = httplib2.Http(".cache") + url = '%stenants/%s/users/%s/add' % (URL, tenantid, userid) + resp, content = header.request(url, "PUT", body='{}', + headers={"Content-Type": "application/xml", + "X-Auth-Token": auth_token, + "ACCEPT": "application/xml"}) + return (resp, content) + + def user_update_json(tenant_id, user_id, auth_token, email=None): h = httplib2.Http(".cache") url = '%stenants/%s/users/%s' % (URL, tenant_id, user_id) @@ -571,6 +596,10 @@ def get_tenant(): return '1234' +def get_another_tenant(): + return '4321' + + def get_user(): return 'test_user' diff --git a/test/unit/test_users.py b/test/unit/test_users.py index b3f472c0..3eaf8955 100644 --- a/test/unit/test_users.py +++ b/test/unit/test_users.py @@ -69,7 +69,7 @@ class CreateUserTest(UserTest): self.assertEqual(403, resp_val) self.assertEqual('application/xml', utils.content_type(resp)) - def test_a_user_again_json(self): + def test_a_user_create_again_json(self): resp, content = utils.create_user(self.tenant, self.user, str(self.auth_token)) resp_val = int(resp['status']) @@ -79,7 +79,7 @@ class CreateUserTest(UserTest): str(self.auth_token)) self.assertEqual(409, int(resp['status'])) - def test_a_user_again_xml(self): + def test_a_user_create_again_xml(self): utils.create_user_xml(self.tenant, self.user, str(self.auth_token)) resp, content = utils.create_user_xml(self.tenant, self.user, @@ -91,6 +91,29 @@ class CreateUserTest(UserTest): self.assertEqual(409, int(resp['status'])) self.assertEqual('application/xml', utils.content_type(resp)) + def test_a_user_create_email_conflict(self): + utils.create_user(self.tenant, self.user, str(self.auth_token), + self.email) + resp, content = utils.create_user(self.tenant, self.user, + str(self.auth_token), + self.email) + self.assertEqual(409, int(resp['status'])) + + def test_a_user_create_email_conflict_xml(self): + utils.create_user_xml(self.tenant, + self.user, + str(self.auth_token), + self.email) + resp, content = utils.create_user_xml(self.tenant, self.user, + str(self.auth_token), + self.email) + content = etree.fromstring(content) + resp_val = int(resp['status']) + utils.handle_user_resp(self, content, resp_val, + utils.content_type(resp)) + self.assertEqual(409, int(resp['status'])) + self.assertEqual('application/xml', utils.content_type(resp)) + def test_a_user_create_expired_token(self): resp, content = utils.create_user(self.tenant, self.user, str(self.exp_auth_token)) @@ -1134,7 +1157,7 @@ class SetPasswordTest(UserTest): self.assertEqual('application/xml', utils.content_type(resp)) -class SetEnabledEest(UserTest): +class SetEnabledTest(UserTest): def test_user_enabled(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) @@ -1207,6 +1230,33 @@ class SetEnabledEest(UserTest): self.assertEqual(400, resp_val) self.assertEqual('application/xml', utils.content_type(resp)) + def test_user_enabled_disabled_tenant(self): + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_enabled_json('0000', + self.user, + str(self.auth_token)) + resp_val = int(resp['status']) + content = json.loads(content) + if resp_val == 500: + self.fail('IDM fault') + elif resp_val == 503: + self.fail('Service Not Available') + self.assertEqual(403, resp_val) + + def test_user_enabled_disabled_tenant_xml(self): + utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.user_enabled_xml('0000', + self.user, + str(self.auth_token)) + resp_val = int(resp['status']) + content = etree.fromstring(content) + if resp_val == 500: + self.fail('IDM fault') + elif resp_val == 503: + self.fail('Service Not Available') + self.assertEqual(403, resp_val) + self.assertEqual('application/xml', utils.content_type(resp)) + def test_user_enabled_expired_token(self): utils.create_user(self.tenant, self.user, str(self.auth_token)) resp, content = utils.user_enabled_json(self.tenant, @@ -1314,5 +1364,197 @@ class SetEnabledEest(UserTest): self.fail('Service Not Available') self.assertEqual(401, resp_val) self.assertEqual('application/xml', utils.content_type(resp)) + + +class AddUserTest(UserTest): + + def setUp(self): + self.token = utils.get_token('joeuser', 'secrete', 'token') + self.tenant = utils.get_another_tenant() + self.password = utils.get_password() + self.email = utils.get_email() + self.user = 'joeuser' + self.userdisabled = utils.get_userdisabled() + self.auth_token = utils.get_auth_token() + self.exp_auth_token = utils.get_exp_auth_token() + self.disabled_token = utils.get_disabled_token() + self.missing_token = utils.get_none_token() + self.invalid_token = utils.get_non_existing_token() + + def tearDown(self): + utils.delete_user(self.tenant, self.user, str(self.auth_token)) + utils.delete_tenant(self.tenant, str(self.auth_token)) + + def test_add_user_tenant(self): + utils.create_tenant(self.tenant, str(self.auth_token)) + resp, content = utils.add_user_json(self.tenant, + self.user, + str(self.auth_token)) + resp_val = int(resp['status']) + if resp_val == 500: + self.fail('IDM fault') + elif resp_val == 503: + self.fail('Service Not Available') + self.assertEqual(200, resp_val) + + def test_add_user_tenant_xml(self): + utils.create_tenant(self.tenant, str(self.auth_token)) + resp, content = utils.add_user_xml(self.tenant, + self.user, + str(self.auth_token)) + resp_val = int(resp['status']) + if resp_val == 500: + self.fail('IDM fault') + elif resp_val == 503: + self.fail('Service Not Available') + self.assertEqual(200, resp_val) + + def test_add_user_tenant_conflict(self): + utils.create_tenant(self.tenant, str(self.auth_token)) + utils.add_user_json(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.add_user_json(self.tenant, + self.user, + str(self.auth_token)) + + resp_val = int(resp['status']) + if resp_val == 500: + self.fail('IDM fault') + elif resp_val == 503: + self.fail('Service Not Available') + self.assertEqual(409, resp_val) + + def test_add_user_tenant_conflict_xml(self): + utils.create_tenant(self.tenant, str(self.auth_token)) + utils.add_user_xml(self.tenant, self.user, str(self.auth_token)) + resp, content = utils.add_user_xml(self.tenant, + self.user, + str(self.auth_token)) + resp_val = int(resp['status']) + if resp_val == 500: + self.fail('IDM fault') + elif resp_val == 503: + self.fail('Service Not Available') + self.assertEqual(409, resp_val) + + def test_add_user_tenant_expired_token(self): + utils.create_tenant(self.tenant, str(self.auth_token)) + resp, content = utils.add_user_json(self.tenant, + self.user, + str(self.exp_auth_token)) + resp_val = int(resp['status']) + if resp_val == 500: + self.fail('IDM fault') + elif resp_val == 503: + self.fail('Service Not Available') + self.assertEqual(403, resp_val) + + def test_add_user_tenant_expired_token_xml(self): + utils.create_tenant(self.tenant, str(self.auth_token)) + resp, content = utils.add_user_xml(self.tenant, + self.user, + str(self.exp_auth_token)) + resp_val = int(resp['status']) + if resp_val == 500: + self.fail('IDM fault') + elif resp_val == 503: + self.fail('Service Not Available') + self.assertEqual(403, resp_val) + + def test_add_user_tenant_disabled_token(self): + utils.create_tenant(self.tenant, str(self.auth_token)) + resp, content = utils.add_user_json(self.tenant, + self.user, + str(self.disabled_token)) + resp_val = int(resp['status']) + if resp_val == 500: + self.fail('IDM fault') + elif resp_val == 503: + self.fail('Service Not Available') + self.assertEqual(403, resp_val) + + def test_add_user_tenant_disabled_token_xml(self): + utils.create_tenant(self.tenant, str(self.auth_token)) + resp, content = utils.add_user_xml(self.tenant, + self.user, + str(self.disabled_token)) + resp_val = int(resp['status']) + if resp_val == 500: + self.fail('IDM fault') + elif resp_val == 503: + self.fail('Service Not Available') + self.assertEqual(403, resp_val) + + def test_add_user_tenant_invalid_token(self): + utils.create_tenant(self.tenant, str(self.auth_token)) + resp, content = utils.add_user_json(self.tenant, + self.user, + str(self.invalid_token)) + resp_val = int(resp['status']) + if resp_val == 500: + self.fail('IDM fault') + elif resp_val == 503: + self.fail('Service Not Available') + self.assertEqual(404, resp_val) + + def test_add_user_tenant_invalid_token_xml(self): + utils.create_tenant(self.tenant, str(self.auth_token)) + resp, content = utils.add_user_xml(self.tenant, + self.user, + str(self.invalid_token)) + resp_val = int(resp['status']) + if resp_val == 500: + self.fail('IDM fault') + elif resp_val == 503: + self.fail('Service Not Available') + self.assertEqual(404, resp_val) + + def test_add_user_tenant_missing_token(self): + utils.create_tenant(self.tenant, str(self.auth_token)) + resp, content = utils.add_user_json(self.tenant, + self.user, + str(self.missing_token)) + resp_val = int(resp['status']) + if resp_val == 500: + self.fail('IDM fault') + elif resp_val == 503: + self.fail('Service Not Available') + self.assertEqual(401, resp_val) + + def test_add_user_tenant_missing_token_xml(self): + utils.create_tenant(self.tenant, str(self.auth_token)) + resp, content = utils.add_user_xml(self.tenant, + self.user, + str(self.missing_token)) + resp_val = int(resp['status']) + if resp_val == 500: + self.fail('IDM fault') + elif resp_val == 503: + self.fail('Service Not Available') + self.assertEqual(401, resp_val) + + def test_add_user_tenant_disabled_tenant(self): + utils.create_tenant(self.tenant, str(self.auth_token)) + resp, content = utils.add_user_json('0000', + self.user, + str(self.auth_token)) + resp_val = int(resp['status']) + if resp_val == 500: + self.fail('IDM fault') + elif resp_val == 503: + self.fail('Service Not Available') + self.assertEqual(403, resp_val) + + def test_add_user_tenant_disabled_tenant_xml(self): + utils.create_tenant(self.tenant, str(self.auth_token)) + resp, content = utils.add_user_xml('0000', + self.user, + str(self.auth_token)) + resp_val = int(resp['status']) + if resp_val == 500: + self.fail('IDM fault') + elif resp_val == 503: + self.fail('Service Not Available') + self.assertEqual(403, resp_val) + if __name__ == '__main__': unittest.main() -- cgit From f299f603fa65d6aa22425d58328499de847335ef Mon Sep 17 00:00:00 2001 From: jabdul Date: Mon, 16 May 2011 16:27:35 +0530 Subject: fixed test cases --- test/unit/test_groups.py | 8 ++--- test/unit/test_tenant_groups.py | 78 ++++++++++++++++++++--------------------- test/unit/test_tenants.py | 14 ++++---- 3 files changed, 50 insertions(+), 50 deletions(-) diff --git a/test/unit/test_groups.py b/test/unit/test_groups.py index ebf3e628..b4db3081 100644 --- a/test/unit/test_groups.py +++ b/test/unit/test_groups.py @@ -30,9 +30,9 @@ class GlobalGroupTest(unittest.TestCase): self.global_group = 'test_global_group_add' def tearDown(self): - resp, content = utils.delete_global_group(self.global_group, + utils.delete_global_group(self.global_group, self.auth_token) - resp, content = utils.delete_tenant(self.globaltenant, self.auth_token) + utils.delete_tenant(self.globaltenant, self.auth_token) class CreateGlobalGroupTest(GlobalGroupTest): @@ -564,7 +564,7 @@ class DeleteGlobalGroupTest(GlobalGroupTest): resp_new, content_new = utils.delete_global_group(\ 'test_global_group_delete', str(self.auth_token)) - resp, content = utils.delete_tenant(self.globaltenant, + resp = utils.delete_tenant(self.globaltenant, str(self.auth_token)) self.assertEqual(204, int(resp_new['status'])) @@ -578,7 +578,7 @@ class DeleteGlobalGroupTest(GlobalGroupTest): resp_new, content_new = utils.delete_global_group_xml(\ 'test_global_group_delete', str(self.auth_token)) - resp, content = utils.delete_tenant_xml(self.globaltenant, + resp = utils.delete_tenant_xml(self.globaltenant, str(self.auth_token)) self.assertEqual(204, int(resp['status'])) diff --git a/test/unit/test_tenant_groups.py b/test/unit/test_tenant_groups.py index ca733d10..7d945b43 100644 --- a/test/unit/test_tenant_groups.py +++ b/test/unit/test_tenant_groups.py @@ -25,22 +25,22 @@ class TenantGroupTest(unittest.TestCase): self.tenant_group = 'test_tenant_group_add' def tearDown(self): - resp, content = util.delete_tenant_group(self.tenant_group, + util.delete_tenant_group(self.tenant_group, self.tenant, self.auth_token) - resp, content = util.delete_tenant(self.tenant, self.auth_token) + util.delete_tenant(self.tenant, self.auth_token) class CreateTenantGroupTest(TenantGroupTest): def test_tenant_group_create(self): - resp, content = util.delete_tenant(self.tenant, str(self.auth_token)) + resp = util.delete_tenant(self.tenant, str(self.auth_token)) if int(resp['status']) == 500: self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - resp, content = util.create_tenant(self.tenant, str(self.auth_token)) + util.create_tenant(self.tenant, str(self.auth_token)) resp, content = util.delete_tenant_group(self.tenant_group, self.tenant, str(self.auth_token)) @@ -52,7 +52,7 @@ class CreateTenantGroupTest(TenantGroupTest): self.fail('Failed due to %d' % int(resp['status'])) def test_tenant_group_create_xml(self): - resp, content = util.delete_tenant_xml(self.tenant, + resp = util.delete_tenant_xml(self.tenant, str(self.auth_token)) resp, content = util.create_tenant_xml(self.tenant, str(self.auth_token)) @@ -573,7 +573,7 @@ class UpdateTenantGroupTest(TenantGroupTest): def test_update_tenant_group_xml(self): header = httplib2.Http(".cache") - resp, content = util.delete_tenant(self.tenant, str(self.auth_token)) + util.delete_tenant(self.tenant, str(self.auth_token)) resp, content = util.create_tenant(self.tenant, str(self.auth_token)) @@ -729,7 +729,7 @@ class DeleteTenantGroupTest(TenantGroupTest): resp, content = util.delete_tenant_group('test_tenant_group_delete', "test_tenant_delete", str(self.auth_token)) - resp, content = util.delete_tenant("test_tenant_delete", + resp = util.delete_tenant("test_tenant_delete", str(self.auth_token)) self.assertEqual(204, int(resp['status'])) @@ -742,7 +742,7 @@ class DeleteTenantGroupTest(TenantGroupTest): resp, content = util.delete_tenant_group('test_tenant_group_delete', "test_tenant_delete", str(self.auth_token)) - resp, content = util.delete_tenant_xml("test_tenant_delete", + resp = util.delete_tenant_xml("test_tenant_delete", str(self.auth_token)) self.assertEqual(204, int(resp['status'])) @@ -770,7 +770,7 @@ class AddUserTenantGroupTest(TenantGroupTest): resp, content = util.delete_tenant_group(self.tenant_group, self.tenant, self.auth_token) - resp, content = util.delete_tenant(self.tenant, self.auth_token) + resp = util.delete_tenant(self.tenant, self.auth_token) def test_add_user_tenant_group(self): resp, content = util.create_tenant(self.tenant, str(self.auth_token)) @@ -952,7 +952,7 @@ class GetUsersTenantGroupTest(TenantGroupTest): resp, content = util.delete_tenant_group(self.tenant_group, self.tenant, self.auth_token) - resp, content = util.delete_tenant(self.tenant, self.auth_token) + util.delete_tenant(self.tenant, self.auth_token) def test_get_users_tenant_group(self): resp, content = util.create_tenant(self.tenant, str(self.auth_token)) @@ -964,9 +964,9 @@ class GetUsersTenantGroupTest(TenantGroupTest): self.tenant, str(self.auth_token)) - resp, content = util.create_user(self.tenant, self.user, + util.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = util.add_user_tenant_group(self.tenant, + util.add_user_tenant_group(self.tenant, self.tenant_group, self.user, str(self.auth_token)) @@ -982,12 +982,12 @@ class GetUsersTenantGroupTest(TenantGroupTest): self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - resp, content = util.create_tenant_group(self.tenant_group, + util.create_tenant_group(self.tenant_group, self.tenant, str(self.auth_token)) - resp, content = util.create_user(self.tenant, self.user, + util.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = util.add_user_tenant_group_xml(self.tenant, + util.add_user_tenant_group_xml(self.tenant, self.tenant_group, self.user, str(self.auth_token)) @@ -1003,13 +1003,13 @@ class GetUsersTenantGroupTest(TenantGroupTest): self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - resp, content = util.create_tenant_group(self.tenant_group, + util.create_tenant_group(self.tenant_group, self.tenant, str(self.auth_token)) - resp, content = util.create_user(self.tenant, self.user, + util.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = util.add_user_tenant_group(self.tenant, + util.add_user_tenant_group(self.tenant, self.tenant_group, self.user, self.auth_token) @@ -1026,13 +1026,13 @@ class GetUsersTenantGroupTest(TenantGroupTest): elif int(resp['status']) == 503: self.fail('Service Not Available') - resp, content = util.create_tenant_group(self.tenant_group, + util.create_tenant_group(self.tenant_group, self.tenant, str(self.auth_token)) - resp, content = util.create_user(self.tenant, self.user, + util.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = util.add_user_tenant_group(self.tenant, + util.add_user_tenant_group(self.tenant, self.tenant_group, self.user, self.auth_token) resp, content = util.get_user_tenant_group_xml(self.tenant, @@ -1046,13 +1046,13 @@ class GetUsersTenantGroupTest(TenantGroupTest): self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - resp, content = util.create_tenant_group(self.tenant_group, + util.create_tenant_group(self.tenant_group, self.tenant, str(self.auth_token)) - resp, content = util.create_user(self.tenant, self.user, + util.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = util.add_user_tenant_group(self.tenant, + util.add_user_tenant_group(self.tenant, self.tenant_group, self.user, self.auth_token) resp, content = util.get_user_tenant_group(self.tenant, @@ -1067,13 +1067,13 @@ class GetUsersTenantGroupTest(TenantGroupTest): self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - resp, content = util.create_tenant_group(self.tenant_group, + util.create_tenant_group(self.tenant_group, self.tenant, str(self.auth_token)) - resp, content = util.create_user(self.tenant, self.user, + util.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = util.add_user_tenant_group(self.tenant, + util.add_user_tenant_group(self.tenant, self.tenant_group, self.user, self.auth_token) resp, content = util.get_user_tenant_group_xml(self.tenant, @@ -1088,13 +1088,13 @@ class GetUsersTenantGroupTest(TenantGroupTest): self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - resp, content = util.create_tenant_group(self.tenant_group, + util.create_tenant_group(self.tenant_group, self.tenant, str(self.auth_token)) - resp, content = util.create_user(self.tenant, self.user, + util.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = util.add_user_tenant_group(self.tenant, + util.add_user_tenant_group(self.tenant, self.tenant_group, self.user, self.auth_token) resp, content = util.get_user_tenant_group(self.tenant, @@ -1108,13 +1108,13 @@ class GetUsersTenantGroupTest(TenantGroupTest): self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - resp, content = util.create_tenant_group(self.tenant_group, + util.create_tenant_group(self.tenant_group, self.tenant, str(self.auth_token)) - resp, content = util.create_user(self.tenant, self.user, + util.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = util.add_user_tenant_group(self.tenant, + util.add_user_tenant_group(self.tenant, self.tenant_group, self.user, self.auth_token) resp, content = util.get_user_tenant_group_xml(self.tenant, @@ -1132,12 +1132,12 @@ class DeleteUsersTenantGroupTest(TenantGroupTest): self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - resp, content = util.create_tenant_group(self.tenant_group, + util.create_tenant_group(self.tenant_group, self.tenant, str(self.auth_token)) - resp, content = util.create_user(self.tenant, self.user, + util.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = util.add_user_tenant_group(self.tenant, + util.add_user_tenant_group(self.tenant, self.tenant_group, self.user, str(self.auth_token)) @@ -1154,12 +1154,12 @@ class DeleteUsersTenantGroupTest(TenantGroupTest): self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') - resp, content = util.create_tenant_group(self.tenant_group, + util.create_tenant_group(self.tenant_group, self.tenant, str(self.auth_token)) - resp, content = util.create_user(self.tenant, self.user, + util.create_user(self.tenant, self.user, str(self.auth_token)) - resp, content = util.add_user_tenant_group_xml(self.tenant, + util.add_user_tenant_group_xml(self.tenant, self.tenant_group, self.user, str(self.auth_token)) diff --git a/test/unit/test_tenants.py b/test/unit/test_tenants.py index 256f9a9c..84da24f2 100644 --- a/test/unit/test_tenants.py +++ b/test/unit/test_tenants.py @@ -23,13 +23,13 @@ class TenantTest(unittest.TestCase): self.disabled_token = utils.get_disabled_token() def tearDown(self): - resp, content = utils.delete_tenant(self.tenant, self.auth_token) + utils.delete_tenant(self.tenant, self.auth_token) class CreateTenantTest(TenantTest): def test_tenant_create(self): - resp, content = utils.delete_tenant(self.tenant, str(self.auth_token)) + utils.delete_tenant(self.tenant, str(self.auth_token)) resp, content = utils.create_tenant(self.tenant, str(self.auth_token)) if int(resp['status']) == 500: self.fail('IDM fault') @@ -41,7 +41,7 @@ class CreateTenantTest(TenantTest): self.fail('Failed due to %d' % int(resp['status'])) def test_tenant_create_xml(self): - resp, content = utils.delete_tenant_xml(self.tenant, + utils.delete_tenant_xml(self.tenant, str(self.auth_token)) resp, content = utils.create_tenant_xml(self.tenant, str(self.auth_token)) @@ -609,28 +609,28 @@ class DeleteTenantTest(TenantTest): def test_delete_tenant_not_found(self): #resp,content=utils.create_tenant("test_tenant_delete", # str(self.auth_token)) - resp, content = utils.delete_tenant("test_tenant_delete111", + resp = utils.delete_tenant("test_tenant_delete111", str(self.auth_token)) self.assertEqual(404, int(resp['status'])) def test_delete_tenant_not_found_xml(self): #resp,content=utils.create_tenant("test_tenant_delete", # str(self.auth_token)) - resp, content = utils.delete_tenant_xml("test_tenant_delete111", + resp = utils.delete_tenant_xml("test_tenant_delete111", str(self.auth_token)) self.assertEqual(404, int(resp['status'])) def test_delete_tenant(self): resp, content = utils.create_tenant("test_tenant_delete", str(self.auth_token)) - resp, content = utils.delete_tenant("test_tenant_delete", + resp = utils.delete_tenant("test_tenant_delete", str(self.auth_token)) self.assertEqual(204, int(resp['status'])) def test_delete_tenant_xml(self): resp, content = utils.create_tenant_xml("test_tenant_delete", str(self.auth_token)) - resp, content = utils.delete_tenant_xml("test_tenant_delete", + resp = utils.delete_tenant_xml("test_tenant_delete", str(self.auth_token)) self.assertEqual(204, int(resp['status'])) -- cgit From 2053f355faf44699afe15a6213db628b436b77a4 Mon Sep 17 00:00:00 2001 From: "sirish.bitra" Date: Mon, 16 May 2011 18:37:46 +0530 Subject: fixes --- test/unit/test_common.py | 1 + test/unit/test_groups.py | 42 +++++++++++++++++++++++++++++------------ test/unit/test_tenant_groups.py | 21 +++++++++++++++++---- test/unit/test_tenants.py | 14 +++++++++++--- test/unit/test_users.py | 15 +++++++++++---- 5 files changed, 70 insertions(+), 23 deletions(-) diff --git a/test/unit/test_common.py b/test/unit/test_common.py index 1be44dea..aff4fc63 100644 --- a/test/unit/test_common.py +++ b/test/unit/test_common.py @@ -228,6 +228,7 @@ def delete_tenant_xml(tenantid, auth_token): headers={"Content-Type": "application/xml", "X-Auth-Token": auth_token, "ACCEPT": "application/xml"}) + return resp diff --git a/test/unit/test_groups.py b/test/unit/test_groups.py index b4db3081..8726c706 100644 --- a/test/unit/test_groups.py +++ b/test/unit/test_groups.py @@ -20,16 +20,20 @@ class GlobalGroupTest(unittest.TestCase): def setUp(self): self.globaltenant = utils.get_global_tenant() - self.token = utils.get_token('joeuser', 'secrete', self.globaltenant, - 'token') self.user = utils.get_user() self.userdisabled = utils.get_userdisabled() self.auth_token = utils.get_auth_token() self.exp_auth_token = utils.get_exp_auth_token() self.disabled_token = utils.get_disabled_token() self.global_group = 'test_global_group_add' + utils.create_tenant(self.globaltenant, str(self.auth_token)) + utils.create_user(self.globaltenant, self.user, self.auth_token) + utils.add_user_json(self.globaltenant, self.user, self.auth_token) + self.token = utils.get_token(self.user, 'secrete', self.globaltenant, + 'token') def tearDown(self): + utils.delete_user(self.globaltenant, self.user, str(self.auth_token)) utils.delete_global_group(self.global_group, self.auth_token) utils.delete_tenant(self.globaltenant, self.auth_token) @@ -352,7 +356,7 @@ class GetGlobalGroupsTest(GlobalGroupTest): self.assertEqual(403, int(resp['status'])) -class GetGlobalGroupGest(GlobalGroupTest): +class GetGlobalGroupTest(GlobalGroupTest): def test_get_global_group(self): header = httplib2.Http(".cache") @@ -571,30 +575,37 @@ class DeleteGlobalGroupTest(GlobalGroupTest): def test_delete_global_group_xml(self): resp, content = utils.create_tenant_xml(self.globaltenant, str(self.auth_token)) + resp_new, content_new = utils.create_tenant_group_xml(\ 'test_global_group_delete', self.globaltenant, str(self.auth_token)) + resp_new, content_new = utils.delete_global_group_xml(\ 'test_global_group_delete', str(self.auth_token)) + resp = utils.delete_tenant_xml(self.globaltenant, str(self.auth_token)) - self.assertEqual(204, int(resp['status'])) + + self.assertEqual(204, int(resp_new['status'])) class AddUserGlobalGroupTest(unittest.TestCase): def setUp(self): self.tenant = utils.get_global_tenant() - self.token = utils.get_token('joeuser', 'secrete', self.tenant, - 'token') + self.auth_token = utils.get_auth_token() self.user = utils.get_user() self.userdisabled = utils.get_userdisabled() - self.auth_token = utils.get_auth_token() self.exp_auth_token = utils.get_exp_auth_token() self.disabled_token = utils.get_disabled_token() self.global_group = 'test_global_group' + utils.create_tenant(self.tenant, str(self.auth_token)) + utils.create_user(self.tenant, self.user, self.auth_token) + utils.add_user_json(self.tenant, self.user, self.auth_token) + self.token = utils.get_token(self.user, 'secrete', self.tenant, + 'token') def tearDown(self): resp_new, content_new = utils.delete_user_global_group(\ @@ -604,6 +615,7 @@ class AddUserGlobalGroupTest(unittest.TestCase): resp = utils.delete_user(self.tenant, self.user, str(self.auth_token)) + utils.delete_user(self.tenant, self.user, self.auth_token) resp, content = utils.delete_global_group(self.global_group, self.auth_token) @@ -688,10 +700,10 @@ class AddUserGlobalGroupTest(unittest.TestCase): str(self.auth_token)) resp_new, content_new = utils.create_user(self.tenant, self.user, str(self.auth_token)) + resp_new, content_new = utils.add_user_global_group(self.global_group, self.user, str(self.token)) - if int(resp['status']) == 500: self.fail('IDM fault') elif int(resp['status']) == 503: @@ -753,14 +765,17 @@ class GetUsersTenantGroupTest(unittest.TestCase): def setUp(self): self.tenant = utils.get_global_tenant() - self.token = utils.get_token('joeuser', 'secrete', self.tenant, - 'token') self.user = utils.get_user() self.userdisabled = utils.get_userdisabled() self.auth_token = utils.get_auth_token() self.exp_auth_token = utils.get_exp_auth_token() self.disabled_token = utils.get_disabled_token() self.global_group = 'test_global_group' + utils.create_tenant(self.tenant, str(self.auth_token)) + utils.create_user(self.tenant, self.user, self.auth_token) + utils.add_user_json(self.tenant, self.user, self.auth_token) + self.token = utils.get_token(self.user, 'secrete', self.tenant, + 'token') def tearDown(self): resp_new, content_new = utils.delete_user_global_group(\ @@ -934,14 +949,17 @@ class DeleteUsersGlobalGroupTest(unittest.TestCase): def setUp(self): self.tenant = utils.get_global_tenant() - self.token = utils.get_token('joeuser', 'secrete', self.tenant, - 'token') self.user = utils.get_user() self.userdisabled = utils.get_userdisabled() self.auth_token = utils.get_auth_token() self.exp_auth_token = utils.get_exp_auth_token() self.disabled_token = utils.get_disabled_token() self.global_group = 'test_global_group' + utils.create_tenant(self.tenant, str(self.auth_token)) + utils.create_user(self.tenant, self.user, self.auth_token) + utils.add_user_json(self.tenant, self.user, self.auth_token) + self.token = utils.get_token(self.user, 'secrete', self.tenant, + 'token') def tearDown(self): resp_new, content_new = utils.delete_user_global_group(\ diff --git a/test/unit/test_tenant_groups.py b/test/unit/test_tenant_groups.py index 7d945b43..909391b5 100644 --- a/test/unit/test_tenant_groups.py +++ b/test/unit/test_tenant_groups.py @@ -15,19 +15,24 @@ class TenantGroupTest(unittest.TestCase): def setUp(self): self.tenant = util.get_tenant() - self.token = util.get_token('joeuser', 'secrete', self.tenant, - 'token') self.user = util.get_user() self.userdisabled = util.get_userdisabled() self.auth_token = util.get_auth_token() self.exp_auth_token = util.get_exp_auth_token() self.disabled_token = util.get_disabled_token() self.tenant_group = 'test_tenant_group_add' + util.create_tenant(self.tenant, str(self.auth_token)) + util.create_user(self.tenant, self.user, self.auth_token) + util.add_user_json(self.tenant, self.user, self.auth_token) + self.token = util.get_token(self.user, 'secrete', self.tenant, + 'token') def tearDown(self): util.delete_tenant_group(self.tenant_group, self.tenant, self.auth_token) + util.delete_user(self.tenant, self.user, + str(self.auth_token)) util.delete_tenant(self.tenant, self.auth_token) @@ -751,13 +756,17 @@ class AddUserTenantGroupTest(TenantGroupTest): def setUp(self): self.tenant = 'test_tenant' - self.token = util.get_token('joeuser', 'secrete', self.tenant, 'token') self.user = util.get_user() self.userdisabled = util.get_userdisabled() self.auth_token = util.get_auth_token() self.exp_auth_token = util.get_exp_auth_token() self.disabled_token = util.get_disabled_token() self.tenant_group = 'test_tenant_group_add' + util.create_tenant(self.tenant, str(self.auth_token)) + util.create_user(self.tenant, self.user, self.auth_token) + util.add_user_json(self.tenant, self.user, self.auth_token) + self.token = util.get_token(self.user, 'secrete', self.tenant, + 'token') def tearDown(self): resp, content = util.delete_user_tenant_group(self.tenant, @@ -933,13 +942,17 @@ class GetUsersTenantGroupTest(TenantGroupTest): def setUp(self): self.tenant = 'test_tenant' - self.token = util.get_token('joeuser', 'secrete', self.tenant, 'token') self.user = util.get_user() self.userdisabled = util.get_userdisabled() self.auth_token = util.get_auth_token() self.exp_auth_token = util.get_exp_auth_token() self.disabled_token = util.get_disabled_token() self.tenant_group = 'test_tenant_group_add' + util.create_tenant(self.tenant, str(self.auth_token)) + util.create_user(self.tenant, self.user, self.auth_token) + util.add_user_json(self.tenant, self.user, self.auth_token) + self.token = util.get_token(self.user, 'secrete', self.tenant, + 'token') def tearDown(self): resp, content = util.delete_user_tenant_group(self.tenant, diff --git a/test/unit/test_tenants.py b/test/unit/test_tenants.py index 84da24f2..5eff2e2a 100644 --- a/test/unit/test_tenants.py +++ b/test/unit/test_tenants.py @@ -14,21 +14,28 @@ class TenantTest(unittest.TestCase): def setUp(self): self.tenant = 'test_tenant' - self.token = utils.get_token('joeuser', 'secrete', self.tenant, - 'token') + self.auth_token = utils.get_auth_token() self.user = utils.get_user() self.userdisabled = utils.get_userdisabled() - self.auth_token = utils.get_auth_token() self.exp_auth_token = utils.get_exp_auth_token() self.disabled_token = utils.get_disabled_token() + utils.create_tenant(self.tenant, str(self.auth_token)) + utils.create_user(self.tenant, self.user, self.auth_token) + utils.add_user_json(self.tenant, self.user, self.auth_token) + self.token = utils.get_token(self.user, 'secrete', self.tenant, + 'token') + def tearDown(self): + utils.delete_user(self.tenant, self.user, self.auth_token) utils.delete_tenant(self.tenant, self.auth_token) + class CreateTenantTest(TenantTest): def test_tenant_create(self): + utils.delete_user(self.tenant, self.user, self.auth_token) utils.delete_tenant(self.tenant, str(self.auth_token)) resp, content = utils.create_tenant(self.tenant, str(self.auth_token)) if int(resp['status']) == 500: @@ -41,6 +48,7 @@ class CreateTenantTest(TenantTest): self.fail('Failed due to %d' % int(resp['status'])) def test_tenant_create_xml(self): + utils.delete_user(self.tenant, self.user, self.auth_token) utils.delete_tenant_xml(self.tenant, str(self.auth_token)) resp, content = utils.create_tenant_xml(self.tenant, diff --git a/test/unit/test_users.py b/test/unit/test_users.py index 3eaf8955..98d22397 100644 --- a/test/unit/test_users.py +++ b/test/unit/test_users.py @@ -15,7 +15,6 @@ from test_common import URL class UserTest(unittest.TestCase): def setUp(self): - self.token = utils.get_token('joeuser', 'secrete', 'token') self.tenant = utils.get_tenant() self.password = utils.get_password() self.email = utils.get_email() @@ -26,6 +25,10 @@ class UserTest(unittest.TestCase): self.disabled_token = utils.get_disabled_token() self.missing_token = utils.get_none_token() self.invalid_token = utils.get_non_existing_token() + utils.create_tenant(self.tenant, str(self.auth_token)) + utils.add_user_json(self.tenant, self.user, self.auth_token) + self.token = utils.get_token(self.user, 'secrete', self.tenant, + 'token') def tearDown(self): utils.delete_user(self.tenant, self.user, str(self.auth_token)) @@ -34,9 +37,12 @@ class UserTest(unittest.TestCase): class CreateUserTest(UserTest): def test_a_user_create_json(self): - utils.delete_user(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.create_user(self.tenant, self.user, + + resp = utils.delete_user(self.tenant, self.user, str(self.auth_token)) + + resp, content = utils.create_user(self.tenant, 'test_user1', str(self.auth_token)) + self.user = 'test_user1' resp_val = int(resp['status']) utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) @@ -44,8 +50,9 @@ class CreateUserTest(UserTest): def test_a_user_create_xml(self): utils.delete_user_xml(self.tenant, self.user, str(self.auth_token)) - resp, content = utils.create_user_xml(self.tenant, self.user, + resp, content = utils.create_user_xml(self.tenant, 'test_user1', str(self.auth_token)) + self.user = 'test_user1' resp_val = int(resp['status']) utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) -- cgit From 04c2f955bbe82b5b8fe9a132c9fc9bdc8abc19a6 Mon Sep 17 00:00:00 2001 From: "sirish.bitra" Date: Mon, 16 May 2011 19:28:39 +0530 Subject: pylint fixes --- test/unit/test_common.py | 5 +- test/unit/test_groups.py | 281 +++++++++++++++-------------------------------- 2 files changed, 91 insertions(+), 195 deletions(-) diff --git a/test/unit/test_common.py b/test/unit/test_common.py index aff4fc63..e9adab5f 100644 --- a/test/unit/test_common.py +++ b/test/unit/test_common.py @@ -1,14 +1,13 @@ -import os import sys +import os # Need to access identity module sys.path.append(os.path.abspath(os.path.join(os.path.abspath(__file__), '..', '..', '..', '..', 'keystone'))) -import unittest - import httplib2 import json from lxml import etree +import unittest URL = 'http://localhost:8080/v1.0/' diff --git a/test/unit/test_groups.py b/test/unit/test_groups.py index 8726c706..1761c5ef 100644 --- a/test/unit/test_groups.py +++ b/test/unit/test_groups.py @@ -34,16 +34,14 @@ class GlobalGroupTest(unittest.TestCase): def tearDown(self): utils.delete_user(self.globaltenant, self.user, str(self.auth_token)) - utils.delete_global_group(self.global_group, - self.auth_token) + utils.delete_global_group(self.global_group, self.auth_token) utils.delete_tenant(self.globaltenant, self.auth_token) class CreateGlobalGroupTest(GlobalGroupTest): def test_global_group_create(self): - resp_new, content_new = utils.delete_global_group(self.global_group, - str(self.auth_token)) + utils.delete_global_group(self.global_group, str(self.auth_token)) resp_new, content_new = utils.create_global_group(self.global_group, str(self.auth_token)) @@ -55,9 +53,7 @@ class CreateGlobalGroupTest(GlobalGroupTest): self.fail('Failed due to %d' % int(resp_new['status'])) def test_global_group_create_xml(self): - resp_new, content_new = utils.delete_global_group_xml(\ - self.global_group, - str(self.auth_token)) + utils.delete_global_group_xml(self.global_group, str(self.auth_token)) resp_new, content_new = utils.create_global_group_xml(\ self.global_group, str(self.auth_token)) @@ -71,8 +67,7 @@ class CreateGlobalGroupTest(GlobalGroupTest): self.fail('Failed due to %d' % int(resp_new['status'])) def test_global_group_create_again(self): - resp_new, content_new = utils.create_global_group(self.global_group, - str(self.auth_token)) + utils.create_global_group(self.global_group, str(self.auth_token)) resp_new, content_new = utils.create_global_group(self.global_group, str(self.auth_token)) if int(resp_new['status']) == 500: @@ -82,9 +77,7 @@ class CreateGlobalGroupTest(GlobalGroupTest): self.assertEqual(409, int(resp_new['status'])) def test_global_group_create_again_xml(self): - resp_new, content_new = utils.create_global_group_xml(\ - self.global_group, - str(self.auth_token)) + utils.create_global_group_xml(self.global_group, str(self.auth_token)) resp_new, content_new = utils.create_global_group_xml(\ self.global_group, str(self.auth_token)) @@ -259,8 +252,7 @@ class GetGlobalGroupsTest(GlobalGroupTest): def test_get_global_groups(self): header = httplib2.Http(".cache") - resp_new, content_new = utils.delete_global_group(self.global_group, - str(self.auth_token)) + utils.delete_global_group(self.global_group, str(self.auth_token)) resp_new, content_new = utils.create_global_group(self.global_group, str(self.auth_token)) @@ -276,9 +268,7 @@ class GetGlobalGroupsTest(GlobalGroupTest): def test_get_global_groups_xml(self): header = httplib2.Http(".cache") - resp_new, content_new = utils.create_global_group_xml(\ - self.global_group, - str(self.auth_token)) + utils.create_global_group_xml(self.global_group, str(self.auth_token)) url = '%sgroups' % (utils.URL) resp, content = header.request(url, "GET", body='', headers={"Content-Type": "application/xml", @@ -491,9 +481,7 @@ class UpdateGlobalGroupsTest(GlobalGroupTest): def test_update_global_group_bad_xml(self): header = httplib2.Http(".cache") - resp_new, content_new = utils.create_global_group_xml(\ - self.global_group, - str(self.auth_token)) + utils.create_global_group_xml(self.global_group, str(self.auth_token)) url = '%sgroups/%s' % (utils.URL, self.global_group) data = ' \ Date: Mon, 16 May 2011 19:49:18 +0530 Subject: Added as per HACKING Files --- keystone/logic/types/auth.py | 7 +++---- test/unit/test_authentication.py | 18 +++++++++--------- test/unit/test_groups.py | 19 ++++++++++--------- test/unit/test_keystone.py | 3 ++- test/unit/test_users.py | 6 +++--- 5 files changed, 27 insertions(+), 26 deletions(-) diff --git a/keystone/logic/types/auth.py b/keystone/logic/types/auth.py index 726b4f95..4faaba05 100644 --- a/keystone/logic/types/auth.py +++ b/keystone/logic/types/auth.py @@ -13,9 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -from datetime import datetime - from abc import ABCMeta +from datetime import datetime import json from lxml import etree @@ -50,12 +49,12 @@ class PasswordCredentials(object): if password == None: raise fault.BadRequestFault("Expecting a password") tenant_id = root.get("tenantId") - + #--for multi-token handling-- if tenant_id == None: raise fault.BadRequestFault("Expecting tenant") # ---- - + return PasswordCredentials(username, password, tenant_id) except etree.LxmlError as e: raise fault.BadRequestFault("Cannot parse password credentials", diff --git a/test/unit/test_authentication.py b/test/unit/test_authentication.py index 3946f1f3..75917417 100644 --- a/test/unit/test_authentication.py +++ b/test/unit/test_authentication.py @@ -1,13 +1,13 @@ +# Need to access identity module +import httplib2 +import json +from lxml import etree import os import sys -# Need to access identity module sys.path.append(os.path.abspath(os.path.join(os.path.abspath(__file__), '..', '..', '..', '..', 'keystone'))) import unittest from webtest import TestApp -import httplib2 -import json -from lxml import etree import test_common as utils @@ -46,7 +46,7 @@ class AuthenticationTest(unittest.TestCase): "tenantId" : self.tenant}} resp, content = header.request(url, "POST", body=json.dumps(body), headers={"Content-Type": "application/json"}) - + content = json.loads(content) if int(resp['status']) == 500: self.fail('IDM fault') @@ -66,7 +66,7 @@ class AuthenticationTest(unittest.TestCase): resp, content = header.request(url, "POST", body=body, headers={"Content-Type": "application/xml", "ACCEPT": "application/xml"}) - + content = etree.fromstring(content) if int(resp['status']) == 500: self.fail('IDM fault') @@ -144,14 +144,14 @@ class MultiToken(unittest.TestCase): self.assertNotEqual(token1, None) self.assertNotEqual(token2, None) self.assertNotEqual(token1, token2) - + resp = utils.delete_token(token1, self.auth_token) resp = utils.delete_token(token2, self.auth_token) def test_unassigned_user(self): resp, content = utils.get_token('test_user2', 'secrete', 'test_tenant2') - + self.assertEqual(403, int(resp['status'])) - + if __name__ == '__main__': unittest.main() diff --git a/test/unit/test_groups.py b/test/unit/test_groups.py index 8726c706..9c642ec1 100644 --- a/test/unit/test_groups.py +++ b/test/unit/test_groups.py @@ -1,16 +1,17 @@ +# Need to access identity module +import httplib2 +import json +from lxml import etree import os import sys -# Need to access identity module sys.path.append(os.path.abspath(os.path.join(os.path.abspath(__file__), '..', '..', '..', '..', 'keystone'))) import unittest from webtest import TestApp -import httplib2 -import json -from lxml import etree import test_common as utils + ## ## Global Group Tests ## @@ -575,19 +576,19 @@ class DeleteGlobalGroupTest(GlobalGroupTest): def test_delete_global_group_xml(self): resp, content = utils.create_tenant_xml(self.globaltenant, str(self.auth_token)) - + resp_new, content_new = utils.create_tenant_group_xml(\ 'test_global_group_delete', self.globaltenant, str(self.auth_token)) - + resp_new, content_new = utils.delete_global_group_xml(\ 'test_global_group_delete', str(self.auth_token)) - + resp = utils.delete_tenant_xml(self.globaltenant, str(self.auth_token)) - + self.assertEqual(204, int(resp_new['status'])) @@ -700,7 +701,7 @@ class AddUserGlobalGroupTest(unittest.TestCase): str(self.auth_token)) resp_new, content_new = utils.create_user(self.tenant, self.user, str(self.auth_token)) - + resp_new, content_new = utils.add_user_global_group(self.global_group, self.user, str(self.token)) diff --git a/test/unit/test_keystone.py b/test/unit/test_keystone.py index 9a6fe4df..035a5d4d 100644 --- a/test/unit/test_keystone.py +++ b/test/unit/test_keystone.py @@ -1,7 +1,8 @@ import logging +from lxml import etree import os import unittest -from lxml import etree + MODULE_EXTENSIONS = set('.py'.split()) TEST_FILES = ['test_authentication.py', 'test_keystone.py', 'test_tenants.py', 'test_common.py', 'test_users.py','test_tenant_groups.py', diff --git a/test/unit/test_users.py b/test/unit/test_users.py index 98d22397..1be4f598 100644 --- a/test/unit/test_users.py +++ b/test/unit/test_users.py @@ -3,10 +3,10 @@ import sys # Need to access identity module sys.path.append(os.path.abspath(os.path.join(os.path.abspath(__file__), '..', '..', '..', '..', 'keystone'))) -import unittest import httplib2 import json from lxml import etree +import unittest import test_common as utils from test_common import URL @@ -37,9 +37,9 @@ class UserTest(unittest.TestCase): class CreateUserTest(UserTest): def test_a_user_create_json(self): - + resp = utils.delete_user(self.tenant, self.user, str(self.auth_token)) - + resp, content = utils.create_user(self.tenant, 'test_user1', str(self.auth_token)) self.user = 'test_user1' -- cgit From 91f3a8685adc9933fb73349ad38d23d47d887551 Mon Sep 17 00:00:00 2001 From: Sai Krishna Date: Mon, 16 May 2011 22:57:42 +0530 Subject: Mae Pylintrc, reordered imports made pep8 of the files --- keystone/logic/service.py | 10 +++++----- keystone/logic/types/user.py | 2 +- keystone/server.py | 7 ------- keystone/utils.py | 21 --------------------- test/unit/test_authentication.py | 33 +++++++++++++++++++++++++++------ test/unit/test_common.py | 34 +++++++++++++++++++++++++--------- test/unit/test_groups.py | 26 ++++++++++++++++++++++---- test/unit/test_keystone.py | 3 ++- test/unit/test_tenant_groups.py | 24 ++++++++++++++++++++---- test/unit/test_tenants.py | 27 +++++++++++++++++++++------ test/unit/test_token.py | 25 +++++++++++++++++++++---- test/unit/test_users.py | 32 ++++++++++++++++++++++++-------- test/unit/test_version.py | 21 +++++++++++++++++++-- 13 files changed, 187 insertions(+), 78 deletions(-) diff --git a/keystone/logic/service.py b/keystone/logic/service.py index ff4f63e3..8bdf0729 100644 --- a/keystone/logic/service.py +++ b/keystone/logic/service.py @@ -18,12 +18,12 @@ from datetime import timedelta import uuid import keystone.logic.types.auth as auth -import keystone.logic.types.tenant as tenants import keystone.logic.types.atom as atom -import keystone.logic.types.fault as fault -import keystone.logic.types.user as users import keystone.db.sqlalchemy.api as db_api import keystone.db.sqlalchemy.models as db_models +import keystone.logic.types.fault as fault +import keystone.logic.types.tenant as tenants +import keystone.logic.types.user as users class IDMService(object): @@ -69,7 +69,7 @@ class IDMService(object): raise fault.IDMFault("Strange: user %s is not associated " "with a tenant!" % duser.id) user = db_api.user_get_by_tenant(duser.id, credentials.tenant_id) - + if not credentials.tenant_id or not user: raise fault.ForbiddenFault("Error: user %s is " "not associated " @@ -411,7 +411,7 @@ class IDMService(object): # def create_user(self, admin_token, tenant_id, user): self.__validate_token(admin_token) - print "@" * 80 + print "@" * 80 print tenant_id print user dtenant = db_api.tenant_get(tenant_id) diff --git a/keystone/logic/types/user.py b/keystone/logic/types/user.py index 5fe16082..7ef5d6be 100644 --- a/keystone/logic/types/user.py +++ b/keystone/logic/types/user.py @@ -14,10 +14,10 @@ # limitations under the License. import json -import keystone.logic.types.fault as fault from lxml import etree import string +import keystone.logic.types.fault as fault class User(object): diff --git a/keystone/server.py b/keystone/server.py index cc719b9b..dc05d548 100755 --- a/keystone/server.py +++ b/keystone/server.py @@ -35,16 +35,11 @@ HTTP_AUTHORIZATION : basic auth password used to validate the connection HTTP_X_AUTHORIZATION: the client identity being passed in """ -import functools -import httplib -import json import logging import os import routes import sys from webob import Response -from webob import Request -from webob import descriptors from webob.exc import (HTTPNotFound, HTTPConflict, HTTPBadRequest) @@ -56,12 +51,10 @@ if os.path.exists(os.path.join(POSSIBLE_TOPDIR, 'keystone', '__init__.py')): sys.path.insert(0, POSSIBLE_TOPDIR) -from queryext import exthandler from keystone.common import wsgi import keystone.logic.service as serv import keystone.logic.types.tenant as tenants import keystone.logic.types.auth as auth -import keystone.logic.types.fault as fault import keystone.logic.types.user as users import keystone.common.template as template import keystone.utils as utils diff --git a/keystone/utils.py b/keystone/utils.py index 85099d3a..e688c4e7 100644 --- a/keystone/utils.py +++ b/keystone/utils.py @@ -15,26 +15,6 @@ # limitations under the License. -""" -Service that stores identities and issues and manages tokens - -HEADERS -------- -HTTP_ is a standard http header -HTTP_X is an extended http header - -> Coming in from initial call -HTTP_X_AUTH_TOKEN : the client token being passed in -HTTP_X_STORAGE_TOKEN: the client token being passed in (legacy Rackspace use) - to support cloud files -> Used for communication between components -www-authenticate : only used if this component is being used remotely -HTTP_AUTHORIZATION : basic auth password used to validate the connection - -> What we add to the request for use by the OpenStack service -HTTP_X_AUTHORIZATION: the client identity being passed in - -""" import functools import httplib import json @@ -55,7 +35,6 @@ POSSIBLE_TOPDIR = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]), if os.path.exists(os.path.join(POSSIBLE_TOPDIR, 'keystone', '__init__.py')): sys.path.insert(0, POSSIBLE_TOPDIR) - from queryext import exthandler import keystone.logic.types.fault as fault diff --git a/test/unit/test_authentication.py b/test/unit/test_authentication.py index 75917417..2ef86062 100644 --- a/test/unit/test_authentication.py +++ b/test/unit/test_authentication.py @@ -1,4 +1,20 @@ -# Need to access identity module +# vim: tabstop=4 shiftwidth=4 softtabstop=4 +# Copyright (c) 2010-2011 OpenStack, LLC. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + import httplib2 import json from lxml import etree @@ -43,7 +59,7 @@ class AuthenticationTest(unittest.TestCase): url = '%stoken' % utils.URL body = {"passwordCredentials": {"username": self.userdisabled, "password": "secrete", - "tenantId" : self.tenant}} + "tenantId": self.tenant}} resp, content = header.request(url, "POST", body=json.dumps(body), headers={"Content-Type": "application/json"}) @@ -80,7 +96,7 @@ class AuthenticationTest(unittest.TestCase): url = '%stoken' % utils.URL body = {"passwordCredentials": {"username-w": "disabled", "password": "secrete", - "tenantId" : self.tenant}} + "tenantId": self.tenant}} resp, content = header.request(url, "POST", body=json.dumps(body), headers={"Content-Type": "application/json"}) content = json.loads(content) @@ -110,7 +126,9 @@ class AuthenticationTest(unittest.TestCase): self.assertEqual(400, int(resp['status'])) self.assertEqual('application/xml', utils.content_type(resp)) + class MultiToken(unittest.TestCase): + def setUp(self): self.auth_token = utils.get_auth_token() self.userdisabled = utils.get_userdisabled() @@ -137,9 +155,11 @@ class MultiToken(unittest.TestCase): def test_multi_token(self): #get token for user1 with tenant1 - token1 = utils.get_token('test_user1', 'secrete', 'test_tenant1', 'token') + token1 = utils.get_token('test_user1', 'secrete', 'test_tenant1',\ + 'token') #get token for user 1 with tenant2 - token2 = utils.get_token('test_user1', 'secrete', 'test_tenant2', 'token') + token2 = utils.get_token('test_user1', 'secrete', 'test_tenant2',\ + 'token') #test result :: both token should be different self.assertNotEqual(token1, None) self.assertNotEqual(token2, None) @@ -149,7 +169,8 @@ class MultiToken(unittest.TestCase): resp = utils.delete_token(token2, self.auth_token) def test_unassigned_user(self): - resp, content = utils.get_token('test_user2', 'secrete', 'test_tenant2') + resp, content = utils.get_token('test_user2', 'secrete', \ + 'test_tenant2') self.assertEqual(403, int(resp['status'])) diff --git a/test/unit/test_common.py b/test/unit/test_common.py index e9adab5f..6416f4f0 100644 --- a/test/unit/test_common.py +++ b/test/unit/test_common.py @@ -1,15 +1,31 @@ -import sys -import os +# vim: tabstop=4 shiftwidth=4 softtabstop=4 +# Copyright (c) 2010-2011 OpenStack, LLC. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + -# Need to access identity module -sys.path.append(os.path.abspath(os.path.join(os.path.abspath(__file__), - '..', '..', '..', '..', 'keystone'))) import httplib2 import json from lxml import etree +import os +import sys +sys.path.append(os.path.abspath(os.path.join(os.path.abspath(__file__), + '..', '..', '..', '..', 'keystone'))) import unittest + URL = 'http://localhost:8080/v1.0/' @@ -32,7 +48,7 @@ def get_token(user, pswd, tenant_id, kind=''): #--- resp, content = header.request(url, "POST", body=json.dumps(body), headers={"Content-Type": "application/json"}) - + if int(resp['status']) == 200: content = json.loads(content) token = str(content['auth']['token']['id']) @@ -42,7 +58,7 @@ def get_token(user, pswd, tenant_id, kind=''): return token else: return (resp, content) - + def delete_token(token, auth_token): @@ -166,7 +182,7 @@ def get_token_xml(user, pswd, tenant_id, type=''): tenantId="%s"/> ' % (pswd, user, tenant_id) resp, content = header.request(url, "POST", body=body, headers={"Content-Type": "application/xml", - "ACCEPT": "application/xml"}) + "ACCEPT": "application/xml"}) if int(resp['status']) == 200: dom = etree.fromstring(content) root = dom.find("{http://docs.openstack.org/idm/api/v1.0}token") @@ -227,7 +243,7 @@ def delete_tenant_xml(tenantid, auth_token): headers={"Content-Type": "application/xml", "X-Auth-Token": auth_token, "ACCEPT": "application/xml"}) - + return resp diff --git a/test/unit/test_groups.py b/test/unit/test_groups.py index f3714524..bfefd67b 100644 --- a/test/unit/test_groups.py +++ b/test/unit/test_groups.py @@ -1,4 +1,20 @@ -# Need to access identity module +# vim: tabstop=4 shiftwidth=4 softtabstop=4 +# Copyright (c) 2010-2011 OpenStack, LLC. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + import httplib2 import json from lxml import etree @@ -549,7 +565,8 @@ class DeleteGlobalGroupTest(GlobalGroupTest): utils.create_tenant(self.globaltenant, str(self.auth_token)) utils.create_tenant_group('test_global_group_delete', self.globaltenant, str(self.auth_token)) - resp_new, content_new = utils.delete_global_group('test_global_group_delete', + resp_new, content_new = utils.delete_global_group(\ + 'test_global_group_delete', str(self.auth_token)) resp = utils.delete_tenant(self.globaltenant, str(self.auth_token)) self.assertEqual(204, int(resp_new['status'])) @@ -823,7 +840,7 @@ class GetUsersTenantGroupTest(unittest.TestCase): def test_get_users_global_group_forbidden_xml(self): resp, content = utils.create_global_group(self.global_group, str(self.auth_token)) - utils.create_user(self.tenant, self.user,str(self.auth_token)) + utils.create_user(self.tenant, self.user, str(self.auth_token)) utils.add_user_global_group(self.global_group, self.user, str(self.auth_token)) resp_new, content_new = utils.get_user_global_group_xml(\ @@ -954,7 +971,8 @@ class DeleteUsersGlobalGroupTest(unittest.TestCase): str(self.disabled_token)) utils.delete_user_global_group(self.global_group, self.user, str(self.auth_token)) - resp_new, content_new = utils.delete_user_global_group_xml(self.global_group, self.user, + resp_new, content_new = utils.delete_user_global_group_xml(\ + self.global_group, self.user, str(self.auth_token)) self.assertEqual(404, int(resp_new['status'])) diff --git a/test/unit/test_keystone.py b/test/unit/test_keystone.py index 035a5d4d..3b17d9b2 100644 --- a/test/unit/test_keystone.py +++ b/test/unit/test_keystone.py @@ -5,9 +5,10 @@ import unittest MODULE_EXTENSIONS = set('.py'.split()) TEST_FILES = ['test_authentication.py', 'test_keystone.py', 'test_tenants.py', - 'test_common.py', 'test_users.py','test_tenant_groups.py', + 'test_common.py', 'test_users.py', 'test_tenant_groups.py', 'test_token.py', 'test_version.py', 'test_groups.py'] + def unit_test_extractor(tup, path, filenames): """Pull ``unittest.TestSuite``s from modules in path if the path represents a valid Python package. Accumulate diff --git a/test/unit/test_tenant_groups.py b/test/unit/test_tenant_groups.py index 909391b5..8a117a1c 100644 --- a/test/unit/test_tenant_groups.py +++ b/test/unit/test_tenant_groups.py @@ -1,13 +1,29 @@ +# vim: tabstop=4 shiftwidth=4 softtabstop=4 +# Copyright (c) 2010-2011 OpenStack, LLC. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +import httplib2 +import json +from lxml import etree import os import sys -# Need to access identity module sys.path.append(os.path.abspath(os.path.join(os.path.abspath(__file__), '..', '..', '..', '..', 'keystone'))) import unittest -import httplib2 -import json -from lxml import etree import test_common as util diff --git a/test/unit/test_tenants.py b/test/unit/test_tenants.py index 5eff2e2a..185e50ac 100644 --- a/test/unit/test_tenants.py +++ b/test/unit/test_tenants.py @@ -1,12 +1,29 @@ +# vim: tabstop=4 shiftwidth=4 softtabstop=4 +# Copyright (c) 2010-2011 OpenStack, LLC. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +import httplib2 +import json +from lxml import etree import os import sys -# Need to access identity module sys.path.append(os.path.abspath(os.path.join(os.path.abspath(__file__), '..', '..', '..', '..', 'keystone'))) import unittest -import httplib2 -import json -from lxml import etree + import test_common as utils @@ -24,12 +41,10 @@ class TenantTest(unittest.TestCase): utils.add_user_json(self.tenant, self.user, self.auth_token) self.token = utils.get_token(self.user, 'secrete', self.tenant, 'token') - def tearDown(self): utils.delete_user(self.tenant, self.user, self.auth_token) utils.delete_tenant(self.tenant, self.auth_token) - class CreateTenantTest(TenantTest): diff --git a/test/unit/test_token.py b/test/unit/test_token.py index ee72a521..5fff47c6 100644 --- a/test/unit/test_token.py +++ b/test/unit/test_token.py @@ -1,11 +1,27 @@ +# vim: tabstop=4 shiftwidth=4 softtabstop=4 +# Copyright (c) 2010-2011 OpenStack, LLC. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +import httplib2 import os import sys - -# Need to access identity module sys.path.append(os.path.abspath(os.path.join(os.path.abspath(__file__), '..', '..', '..', '..', 'keystone'))) import unittest -import httplib2 + import test_common as utils @@ -13,7 +29,8 @@ class ValidateToken(unittest.TestCase): def setUp(self): self.tenant = utils.get_tenant() - self.token = utils.get_token('joeuser', 'secrete', self.tenant, 'token') + self.token = utils.get_token('joeuser', 'secrete', self.tenant, + 'token') #self.user = utils.get_user() #self.userdisabled = utils.get_userdisabled() self.auth_token = utils.get_auth_token() diff --git a/test/unit/test_users.py b/test/unit/test_users.py index 1be4f598..f4ce19d4 100644 --- a/test/unit/test_users.py +++ b/test/unit/test_users.py @@ -1,11 +1,27 @@ +# vim: tabstop=4 shiftwidth=4 softtabstop=4 +# Copyright (c) 2010-2011 OpenStack, LLC. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +import httplib2 +import json +from lxml import etree import os import sys -# Need to access identity module sys.path.append(os.path.abspath(os.path.join(os.path.abspath(__file__), '..', '..', '..', '..', 'keystone'))) -import httplib2 -import json -from lxml import etree import unittest import test_common as utils @@ -133,7 +149,7 @@ class CreateUserTest(UserTest): resp, content = utils.create_user_xml(self.tenant, self.user, str(self.exp_auth_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(403, int(resp['status'])) self.assertEqual('application/xml', utils.content_type(resp)) @@ -176,7 +192,7 @@ class CreateUserTest(UserTest): resp, content = utils.create_user(self.tenant, self.user, str(self.invalid_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(404, int(resp['status'])) @@ -184,7 +200,7 @@ class CreateUserTest(UserTest): resp, content = utils.create_user_xml(self.tenant, self.user, str(self.invalid_token)) resp_val = int(resp['status']) - utils.handle_user_resp(self, content, resp_val, + utils.handle_user_resp(self, content, resp_val, utils.content_type(resp)) self.assertEqual(404, int(resp['status'])) self.assertEqual('application/xml', utils.content_type(resp)) @@ -1054,7 +1070,7 @@ class SetPasswordTest(UserTest): self.assertEqual('application/xml', utils.content_type(resp)) def test_user_password_expired_token(self): - utils.create_user(self.tenant, self.user, str(self.auth_token)) + utils.create_user(self.tenant, self.user, str(self.auth_token)) resp, content = utils.user_password_json(self.tenant, self.user, str(self.exp_auth_token)) diff --git a/test/unit/test_version.py b/test/unit/test_version.py index 6dd5ba86..3e98935e 100644 --- a/test/unit/test_version.py +++ b/test/unit/test_version.py @@ -1,10 +1,27 @@ +# vim: tabstop=4 shiftwidth=4 softtabstop=4 +# Copyright (c) 2010-2011 OpenStack, LLC. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +import httplib2 import os import sys -# Need to access identity module sys.path.append(os.path.abspath(os.path.join(os.path.abspath(__file__), '..', '..', '..', '..', 'keystone'))) import unittest -import httplib2 + import test_common as utils -- cgit From c580c0b03bfe620ff5b291dca54ba9eb58f71fab Mon Sep 17 00:00:00 2001 From: Ziad Sawalha Date: Fri, 20 May 2011 15:35:01 -0500 Subject: More version fixes --- README.md | 4 +- bin/keystone-auth | 2 + docs/guide/src/docbkx/samples/extension.json | 2 +- docs/guide/src/docbkx/samples/extension.xml | 4 +- docs/guide/src/docbkx/samples/extensions.json | 10 +- docs/guide/src/docbkx/samples/extensions.xml | 10 +- docs/guide/src/docbkx/samples/identity_fault.json | 2 +- docs/guide/src/docbkx/samples/identity_fault.xml | 4 +- .../src/docbkx/samples/samplerequestheader.json | 2 +- docs/guide/src/docbkx/samples/version-atom.xml | 8 +- docs/guide/src/docbkx/samples/version.json | 4 +- docs/guide/src/docbkx/samples/version.xml | 4 +- docs/guide/src/docbkx/samples/versions-atom.xml | 2 +- docs/guide/src/docbkx/xsd/api.xsd | 2 +- docs/guide/src/docbkx/xsd/fault.xsd | 38 ++-- docs/guide/src/docbkx/xsd/tenant.xsd | 8 +- docs/guide/src/docbkx/xsd/token.xsd | 16 +- keystone/common/wsgi.py | 2 +- test/IdentitySOAPUI.xml | 218 ++++++++++----------- test/unit/test_exthandler.py | 12 +- test/unit/test_server.py | 2 +- 21 files changed, 179 insertions(+), 177 deletions(-) diff --git a/README.md b/README.md index 4d3141ed..6257536f 100644 --- a/README.md +++ b/README.md @@ -120,11 +120,11 @@ After starting keystone a keystone.db sqlite database should be created in the k Add test data to the database: - $ sqlite3 bin/keystone.sqlite < test/test_setup.sql + $ sqlite3 bin/keystone.db < test/test_setup.sql To clean the test database - $ sqlite3 bin/keystone.sqlite < test/kill.sql + $ sqlite3 bin/keystone.db < test/kill.sql To run client demo (with all auth middleware running locally on sample service): diff --git a/bin/keystone-auth b/bin/keystone-auth index eae99ec9..8dc71aaa 100755 --- a/bin/keystone-auth +++ b/bin/keystone-auth @@ -60,6 +60,8 @@ if __name__ == '__main__': conf, app = config.load_paste_app('server', options, args) server = wsgi.Server() server.start(app, int(conf['bind_port']), conf['bind_host']) + print "Server listening on %s:%s" % (conf['bind_host'], + conf['bind_port']) server.wait() except RuntimeError, e: sys.exit("ERROR: %s" % e) diff --git a/docs/guide/src/docbkx/samples/extension.json b/docs/guide/src/docbkx/samples/extension.json index 68233e90..9efaa422 100644 --- a/docs/guide/src/docbkx/samples/extension.json +++ b/docs/guide/src/docbkx/samples/extension.json @@ -9,7 +9,7 @@ { "rel" : "describedby", "type" : "application/pdf", - "href" : "http://docs.rackspacecloud.com/idm/api/ext/identity-meta-20111201.pdf" + "href" : "http://docs.rackspacecloud.com/identity/api/ext/identity-meta-20111201.pdf" }, { "rel" : "describedby", diff --git a/docs/guide/src/docbkx/samples/extension.xml b/docs/guide/src/docbkx/samples/extension.xml index d0dbffe9..056d7e96 100644 --- a/docs/guide/src/docbkx/samples/extension.xml +++ b/docs/guide/src/docbkx/samples/extension.xml @@ -13,10 +13,10 @@ + href="http://docs.rackspacecloud.com/identity/api/ext/identity-meta-20111201.pdf"/> + href="http://docs.rackspacecloud.com/identity/api/ext/identity-meta.wadl"/> diff --git a/docs/guide/src/docbkx/samples/extensions.json b/docs/guide/src/docbkx/samples/extensions.json index 8b594526..553c892e 100644 --- a/docs/guide/src/docbkx/samples/extensions.json +++ b/docs/guide/src/docbkx/samples/extensions.json @@ -3,7 +3,7 @@ "values" : [ { "name" : "Reset Password Extension", - "namespace" : "http://docs.rackspacecloud.com/idm/api/ext/rpe/v1.0", + "namespace" : "http://docs.rackspacecloud.com/identity/api/ext/rpe/v1.0", "alias" : "RS-RPE", "updated" : "2011-01-22T13:25:27-06:00", "description" : "Adds the capability to reset a user's password. The user is emailed when the password has been reset.", @@ -11,12 +11,12 @@ { "rel" : "describedby", "type" : "application/pdf", - "href" : "http://docs.rackspacecloud.com/idm/api/ext/idm-rpe-20111111.pdf" + "href" : "http://docs.rackspacecloud.com/identity/api/ext/identity-rpe-20111111.pdf" }, { "rel" : "describedby", "type" : "application/vnd.sun.wadl+xml", - "href" : "http://docs.rackspacecloud.com/idm/api/ext/idm-rpe.wadl" + "href" : "http://docs.rackspacecloud.com/identity/api/ext/identity-rpe.wadl" } ] }, @@ -30,12 +30,12 @@ { "rel" : "describedby", "type" : "application/pdf", - "href" : "http://docs.rackspacecloud.com/idm/api/ext/idm-meta-20111201.pdf" + "href" : "http://docs.rackspacecloud.com/identity/api/ext/identity-meta-20111201.pdf" }, { "rel" : "describedby", "type" : "application/vnd.sun.wadl+xml", - "href" : "http://docs.rackspacecloud.com/idm/api/ext/idm-meta.wadl" + "href" : "http://docs.rackspacecloud.com/identity/api/ext/identity-meta.wadl" } ] } diff --git a/docs/guide/src/docbkx/samples/extensions.xml b/docs/guide/src/docbkx/samples/extensions.xml index f0a9a49d..c11b06d7 100644 --- a/docs/guide/src/docbkx/samples/extensions.xml +++ b/docs/guide/src/docbkx/samples/extensions.xml @@ -4,7 +4,7 @@ xmlns:atom="http://www.w3.org/2005/Atom"> @@ -15,10 +15,10 @@ + href="http://docs.rackspacecloud.com/identity/api/ext/identity-rpe-20111111.pdf"/> + href="http://docs.rackspacecloud.com/identity/api/ext/identity-rpe.wadl"/> + href="http://docs.rackspacecloud.com/identity/api/ext/identity-meta-20111201.pdf"/> + href="http://docs.rackspacecloud.com/identity/api/ext/identity-meta.wadl"/> diff --git a/docs/guide/src/docbkx/samples/identity_fault.json b/docs/guide/src/docbkx/samples/identity_fault.json index 84e3908e..d61feff4 100644 --- a/docs/guide/src/docbkx/samples/identity_fault.json +++ b/docs/guide/src/docbkx/samples/identity_fault.json @@ -1,4 +1,4 @@ -{"idmFault": +{"identityFault": { "message": "Fault", "details": "Error Details...", diff --git a/docs/guide/src/docbkx/samples/identity_fault.xml b/docs/guide/src/docbkx/samples/identity_fault.xml index 0592d948..6787af21 100644 --- a/docs/guide/src/docbkx/samples/identity_fault.xml +++ b/docs/guide/src/docbkx/samples/identity_fault.xml @@ -1,6 +1,6 @@ - Fault
Error Details...
-
+ diff --git a/docs/guide/src/docbkx/samples/samplerequestheader.json b/docs/guide/src/docbkx/samples/samplerequestheader.json index 7db2a40f..32a3a798 100644 --- a/docs/guide/src/docbkx/samples/samplerequestheader.json +++ b/docs/guide/src/docbkx/samples/samplerequestheader.json @@ -1,4 +1,4 @@ -POST /v1.0/token HTTP/1.1 +POST /v2.0/token HTTP/1.1 Host: identity.api.rackspace.com Content-Type: application/json Accept: application/xml \ No newline at end of file diff --git a/docs/guide/src/docbkx/samples/version-atom.xml b/docs/guide/src/docbkx/samples/version-atom.xml index 13ac3b0b..519ab203 100644 --- a/docs/guide/src/docbkx/samples/version-atom.xml +++ b/docs/guide/src/docbkx/samples/version-atom.xml @@ -7,13 +7,13 @@ http://identity.api.openstack.org/v2.0/ - Version v1.0 + Version v2.0 2011-01-21T11:33:21-06:00 + href="http://docs.openstack.org/identity/api/v2.0/identity-devguide-20110125.pdf"/> - Version v1.0 CURRENT (2011-01-21T11:33:21-06:00) + href="http://docs.openstack.org/identity/api/v2.0/application.wadl"/> + Version v2.0 CURRENT (2011-01-21T11:33:21-06:00) diff --git a/docs/guide/src/docbkx/samples/version.json b/docs/guide/src/docbkx/samples/version.json index 60953de0..fce09386 100644 --- a/docs/guide/src/docbkx/samples/version.json +++ b/docs/guide/src/docbkx/samples/version.json @@ -1,6 +1,6 @@ { "version" : { - "id" : "v1.0", + "id" : "v2.0", "status" : "CURRENT", "updated" : "2011-01-21T11:33:21-06:00", "links": [ @@ -11,7 +11,7 @@ { "rel" : "describedby", "type" : "application/pdf", - "href" : "http://docs.rackspacecloud.com/identity/api/v2.0/idm-devguide-20110125.pdf" + "href" : "http://docs.rackspacecloud.com/identity/api/v2.0/identity-devguide-20110125.pdf" }, { "rel" : "describedby", diff --git a/docs/guide/src/docbkx/samples/version.xml b/docs/guide/src/docbkx/samples/version.xml index 08eac21e..0e884504 100644 --- a/docs/guide/src/docbkx/samples/version.xml +++ b/docs/guide/src/docbkx/samples/version.xml @@ -1,7 +1,7 @@ + id="v2.0" status="CURRENT" updated="2011-01-21T11:33:21-06:00"> + href="http://docs.rackspacecloud.com/identity/api/v2.0/identity-devguide-20110125.pdf" /> Version v1.1 CURRENT (2010-12-12T18:30:02.25Z) - http://identity.api.openstack.org/v2.0/ + http://identity.api.openstack.org/v1.0/ Version v1.0 2009-10-09T11:30:00Z diff --git a/docs/guide/src/docbkx/xsd/api.xsd b/docs/guide/src/docbkx/xsd/api.xsd index cedb4026..d4603c2e 100644 --- a/docs/guide/src/docbkx/xsd/api.xsd +++ b/docs/guide/src/docbkx/xsd/api.xsd @@ -4,7 +4,7 @@ elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://www.w3.org/2001/XMLSchema" - xmlns:idm="http://docs.openstack.org/identity/api/v2.0" + xmlns:identity="http://docs.openstack.org/identity/api/v2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://docs.openstack.org/identity/api/v2.0" > diff --git a/docs/guide/src/docbkx/xsd/fault.xsd b/docs/guide/src/docbkx/xsd/fault.xsd index c37c0419..6725e3a4 100644 --- a/docs/guide/src/docbkx/xsd/fault.xsd +++ b/docs/guide/src/docbkx/xsd/fault.xsd @@ -4,23 +4,23 @@ elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://www.w3.org/2001/XMLSchema" - xmlns:idm="http://docs.openstack.org/identity/api/v2.0" + xmlns:identity="http://docs.openstack.org/identity/api/v2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://docs.openstack.org/identity/api/v2.0" > - - - - - - - - - + + + + + + + + + - + @@ -66,56 +66,56 @@ - + - + - + - + - + - + - + - + - - + + - + diff --git a/docs/guide/src/docbkx/xsd/token.xsd b/docs/guide/src/docbkx/xsd/token.xsd index de95da4c..888bbebf 100644 --- a/docs/guide/src/docbkx/xsd/token.xsd +++ b/docs/guide/src/docbkx/xsd/token.xsd @@ -4,19 +4,19 @@ elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://www.w3.org/2001/XMLSchema" - xmlns:idm="http://docs.openstack.org/identity/api/v2.0" + xmlns:identity="http://docs.openstack.org/identity/api/v2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://docs.openstack.org/identity/api/v2.0" > - - + + - + @@ -30,8 +30,8 @@ - - + + @@ -48,7 +48,7 @@ - + @@ -58,7 +58,7 @@ - + diff --git a/keystone/common/wsgi.py b/keystone/common/wsgi.py index d9cab6dc..32de27c9 100755 --- a/keystone/common/wsgi.py +++ b/keystone/common/wsgi.py @@ -176,7 +176,7 @@ class Router(object): # Pointing to an arbitrary WSGI app. You can specify the # {path_info:.*} parameter so the target app can be handed just that # section of the URL. - mapper.connect(None, "/v1.0/{path_info:.*}", controller=BlogApp()) + mapper.connect(None, "/v2.0/{path_info:.*}", controller=BlogApp()) """ self.map = mapper self._router = routes.middleware.RoutesMiddleware(self._dispatch, diff --git a/test/IdentitySOAPUI.xml b/test/IdentitySOAPUI.xml index 86795a38..d5832df8 100644 --- a/test/IdentitySOAPUI.xml +++ b/test/IdentitySOAPUI.xml @@ -28,7 +28,7 @@ -]]>file:/Users/jorgew/projects/keystone/keystone/identity.wadl +]]>file:/Users/jorgew/projects/keystone/keystone/identity.wadl @@ -73,13 +73,13 @@ - + - + - + @@ -91,16 +91,16 @@ - + - + - + - + @@ -113,13 +113,13 @@ - + - + - + @@ -128,27 +128,27 @@ - + - + - + - + - + - + - + @@ -159,27 +159,27 @@ - + - + - - + + - + - + - + - + @@ -188,22 +188,22 @@ - + - + - + - + - + - + @@ -216,26 +216,26 @@ - + - + - + - + - + - + - + @@ -243,30 +243,30 @@ - + - + - + - + - + - + - + - + @@ -274,26 +274,26 @@ - + - + - + - + - + - + - + @@ -301,30 +301,30 @@ - + - + - + - + - + - + - + - + @@ -333,40 +333,40 @@ - + - + - + - + - + - + -]]>http://wadl.dev.java.net/2009/02file:/Users/jorgew/projects/keystone/keystone/xsd/api.xsd<schema elementFormDefault="qualified" attributeFormDefault="unqualified" targetNamespace="http://docs.openstack.org/identity/api/v2.0" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:idm="http://docs.openstack.org/identity/api/v2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> +]]>http://wadl.dev.java.net/2009/02file:/Users/jorgew/projects/keystone/keystone/xsd/api.xsd<schema elementFormDefault="qualified" attributeFormDefault="unqualified" targetNamespace="http://docs.openstack.org/identity/api/v2.0" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:identity="http://docs.openstack.org/identity/api/v2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <include schemaLocation="token.xsd"/> <include schemaLocation="tenant.xsd"/> <include schemaLocation="fault.xsd"/> -</schema>http://www.w3.org/2001/XMLSchemafile:/Users/jorgew/projects/keystone/keystone/xsd/token.xsd +</schema>http://www.w3.org/2001/XMLSchemafile:/Users/jorgew/projects/keystone/keystone/xsd/token.xsd - - + + - + @@ -379,8 +379,8 @@ - - + + @@ -395,7 +395,7 @@ - + @@ -404,7 +404,7 @@ - + @@ -414,16 +414,16 @@ -]]>http://www.w3.org/2001/XMLSchemafile:/Users/jorgew/projects/keystone/keystone/xsd/tenant.xsd +]]>http://www.w3.org/2001/XMLSchemafile:/Users/jorgew/projects/keystone/keystone/xsd/tenant.xsd - - + + - + @@ -780,19 +780,19 @@ -]]>http://www.w3.org/2001/XMLSchemafile:/Users/jorgew/projects/keystone/keystone/xsd/fault.xsd +]]>http://www.w3.org/2001/XMLSchemafile:/Users/jorgew/projects/keystone/keystone/xsd/fault.xsd - - - - - - - - - + + + + + + + + + - + @@ -825,42 +825,42 @@ - + - + - + - + - + - + - + - + @@ -1094,47 +1094,47 @@ -]]>http://www.w3.org/2001/XMLSchemahttp://localhost:8080aliasTEMPLATExs:stringapplication/xml200 203v1:extensionapplication/json200 203application/xml400v1:badRequestapplication/xml404v1:itemNotFoundapplication/xml500v1:idmFaultapplication/xml503v1:serviceUnavailableapplication/json400 404 500 503<xml-fragment/>http://localhost:8080application/xml200 203v1:extensionsapplication/json200 203application/xml400v1:badRequestapplication/xml500v1:idmFaultapplication/xml503v1:serviceUnavailableapplication/json400 500 503<xml-fragment/>http://localhost:8080X-Auth-TokenHEADERxs:stringtokenIdTEMPLATExs:stringbelongsToQUERYxs:stringapplication/xml200 203v1:authapplication/json200 203application/xml401v1:unauthorizedapplication/xml403v1:forbiddenapplication/xml403v1:userDisabledapplication/xml400v1:badRequestapplication/xml404v1:itemNotFoundapplication/xml500v1:idmFaultapplication/xml503v1:serviceUnavailableapplication/json400 401 403 404 500 503<xml-fragment/>http://localhost:8080 +]]>http://www.w3.org/2001/XMLSchemahttp://localhost:8080aliasTEMPLATExs:stringapplication/xml200 203v1:extensionapplication/json200 203application/xml400v1:badRequestapplication/xml404v1:itemNotFoundapplication/xml500v1:identityFaultapplication/xml503v1:serviceUnavailableapplication/json400 404 500 503<xml-fragment/>http://localhost:8080application/xml200 203v1:extensionsapplication/json200 203application/xml400v1:badRequestapplication/xml500v1:identityFaultapplication/xml503v1:serviceUnavailableapplication/json400 500 503<xml-fragment/>http://localhost:8080X-Auth-TokenHEADERxs:stringtokenIdTEMPLATExs:stringbelongsToQUERYxs:stringapplication/xml200 203v1:authapplication/json200 203application/xml401v1:unauthorizedapplication/xml403v1:forbiddenapplication/xml403v1:userDisabledapplication/xml400v1:badRequestapplication/xml404v1:itemNotFoundapplication/xml500v1:identityFaultapplication/xml503v1:serviceUnavailableapplication/json400 401 403 404 500 503<xml-fragment/>http://localhost:8080 -application/xml401v1:unauthorizedapplication/xml403v1:forbiddenapplication/xml400v1:badRequestapplication/xml404v1:itemNotFoundapplication/xml500v1:idmFaultapplication/xml503v1:serviceUnavailableapplication/json400 401 403 404 500 503<xml-fragment/>http://localhost:8080 +application/xml401v1:unauthorizedapplication/xml403v1:forbiddenapplication/xml400v1:badRequestapplication/xml404v1:itemNotFoundapplication/xml500v1:identityFaultapplication/xml503v1:serviceUnavailableapplication/json400 401 403 404 500 503<xml-fragment/>http://localhost:8080 application/xmlv1:passwordCredentialsapplication/jsonapplication/xml200 203v1:authapplication/json200 -203application/xml401v1:unauthorizedapplication/xml403v1:userDisabledapplication/xml400v1:badRequestapplication/xml500v1:idmFaultapplication/xml503v1:serviceUnavailableapplication/json401 +203application/xml401v1:unauthorizedapplication/xml403v1:userDisabledapplication/xml400v1:badRequestapplication/xml500v1:identityFaultapplication/xml503v1:serviceUnavailableapplication/json401 403 400 500 503<xml-fragment/>http://localhost:8080<passwordCredentials password="secrete" username="joeuser" xmlns="http://docs.openstack.org/identity/api/v2.0"/>X-Auth-TokenHEADERxs:stringtenantIdTEMPLATExs:stringapplication/xml200 203v1:tenantapplication/json200 -203application/xml401v1:unauthorizedapplication/xml403v1:forbiddenapplication/xml400v1:badRequestapplication/xml404v1:itemNotFoundapplication/xml500v1:idmFaultapplication/xml503v1:serviceUnavailableapplication/json400 +203application/xml401v1:unauthorizedapplication/xml403v1:forbiddenapplication/xml400v1:badRequestapplication/xml404v1:itemNotFoundapplication/xml500v1:identityFaultapplication/xml503v1:serviceUnavailableapplication/json400 401 403 404 500 503<xml-fragment/>http://localhost:8080 -application/xmlv1:tenantapplication/jsonapplication/xml200v1:tenantapplication/json200application/xml401v1:unauthorizedapplication/xml403v1:forbiddenapplication/xml404v1:itemNotFoundapplication/xml400v1:badRequestapplication/xml500v1:idmFaultapplication/xml503v1:serviceUnavailableapplication/json401 +application/xmlv1:tenantapplication/jsonapplication/xml200v1:tenantapplication/json200application/xml401v1:unauthorizedapplication/xml403v1:forbiddenapplication/xml404v1:itemNotFoundapplication/xml400v1:badRequestapplication/xml500v1:identityFaultapplication/xml503v1:serviceUnavailableapplication/json401 403 404 400 500 503<xml-fragment/>http://localhost:8080<v1:tenant enabled="true" xmlns:v1="http://docs.openstack.org/identity/api/v2.0"> <v1:description>New Description</v1:description> </v1:tenant> -application/xml401v1:unauthorizedapplication/xml403v1:forbiddenapplication/xml400v1:badRequestapplication/xml404v1:itemNotFoundapplication/xml500v1:idmFaultapplication/xml503v1:serviceUnavailableapplication/json400 +application/xml401v1:unauthorizedapplication/xml403v1:forbiddenapplication/xml400v1:badRequestapplication/xml404v1:itemNotFoundapplication/xml500v1:identityFaultapplication/xml503v1:serviceUnavailableapplication/json400 401 403 404 500 503<entry key="Accept" value="application/xml" xmlns="http://eviware.com/soapui/config"/>http://localhost:8080 markerQUERYxs:stringlimitQUERYxs:intapplication/xml200 203v1:tenantsapplication/json200 -203application/xml401v1:unauthorizedapplication/xml403v1:forbiddenapplication/xml400v1:badRequestapplication/xml404v1:itemNotFoundapplication/xml500v1:idmFaultapplication/xml503v1:serviceUnavailableapplication/json400 +203application/xml401v1:unauthorizedapplication/xml403v1:forbiddenapplication/xml400v1:badRequestapplication/xml404v1:itemNotFoundapplication/xml500v1:identityFaultapplication/xml503v1:serviceUnavailableapplication/json400 401 403 404 500 503<xml-fragment/>http://localhost:8080application/xmlv1:tenantapplication/jsonapplication/xml201v1:tenantapplication/json201application/xml401v1:unauthorizedapplication/xml403v1:forbiddenapplication/xml 409v1:tenantConflictapplication/xml -400v1:badRequestapplication/xml500v1:idmFaultapplication/xml503v1:serviceUnavailableapplication/json401 +400v1:badRequestapplication/xml500v1:identityFaultapplication/xml503v1:serviceUnavailableapplication/json401 403 400 409 500 503<xml-fragment/>http://localhost:8080<v1:tenant enabled="true" id="my_new_tenant" xmlns:v1="http://docs.openstack.org/identity/api/v2.0"><v1:description>This is a description of my tenant. Thank you very much.</v1:description></v1:tenant>application/xml200 203v1:versionapplication/json200 -203application/xml400v1:badRequestapplication/xml500v1:idmFaultapplication/xml503v1:serviceUnavailableapplication/json400 +203application/xml400v1:badRequestapplication/xml500v1:identityFaultapplication/xml503v1:serviceUnavailableapplication/json400 500 503<xml-fragment/>http://localhost:8080SEQUENTIAL<xml-fragment/>http://localhost:8080authfalsefalsetokenfalsefalseuserfalsefalse diff --git a/test/unit/test_exthandler.py b/test/unit/test_exthandler.py index 4d09c148..5d41aeac 100644 --- a/test/unit/test_exthandler.py +++ b/test/unit/test_exthandler.py @@ -26,22 +26,22 @@ class UrlExtensionFilterTest(unittest.TestCase): self.filter = UrlExtensionFilter(MockWsgiApp(), {}) def test_xml_extension(self): - env = {'PATH_INFO': '/v1.0/someresource.xml'} + env = {'PATH_INFO': '/v2.0/someresource.xml'} self.filter(env, _start_response) - self.assertEqual('/v1.0/someresource', env['PATH_INFO']) + self.assertEqual('/v2.0/someresource', env['PATH_INFO']) self.assertEqual('application/xml', env['HTTP_ACCEPT']) def test_json_extension(self): - env = {'PATH_INFO': '/v1.0/someresource.json'} + env = {'PATH_INFO': '/v2.0/someresource.json'} self.filter(env, _start_response) - self.assertEqual('/v1.0/someresource', env['PATH_INFO']) + self.assertEqual('/v2.0/someresource', env['PATH_INFO']) self.assertEqual('application/json', env['HTTP_ACCEPT']) def test_extension_overrides_header(self): - env = {'PATH_INFO': '/v1.0/someresource.json', + env = {'PATH_INFO': '/v2.0/someresource.json', 'HTTP_ACCEPT': 'application/xml'} self.filter(env, _start_response) - self.assertEqual('/v1.0/someresource', env['PATH_INFO']) + self.assertEqual('/v2.0/someresource', env['PATH_INFO']) self.assertEqual('application/json', env['HTTP_ACCEPT']) diff --git a/test/unit/test_server.py b/test/unit/test_server.py index a6b98892..294b1e54 100644 --- a/test/unit/test_server.py +++ b/test/unit/test_server.py @@ -65,7 +65,7 @@ class TestServer(unittest.TestCase): self.assertTrue(server.get_auth_token(self.request),"Test Token") def test_get_normalized_request_content_exception(self): - self.assertRaises(fault.IDMFault,server.get_normalized_request_content,None,self.request) + self.assertRaises(fault.IdentityFault,server.get_normalized_request_content,None,self.request) def test_get_normalized_request_content_xml(self): self.request.environ["CONTENT_TYPE"]="application/xml" -- cgit