def test_validate_token_true_xml(self): header = httplib2.Http(".cache") url = '%stokens/%s?belongsTo=%s' % (utils.URL, self.token, self.tenant) resp, content = header.request(url, "GET", body='', headers={"Content-Type": "application/xml", "X-Auth-Token": self.auth_token, "ACCEPT": "application/xml"}) if int(resp['status']) == 500: self.fail('Identity Fault') elif int(resp['status']) == 503: self.fail('Service Not Available') self.assertEqual(200, int(resp['status'])) self.assertEqual('application/xml', utils.content_type(resp)) #verify content dom = etree.Element("root") dom.append(etree.fromstring(content)) auth = dom.find("{http://docs.openstack.org/identity/api/v2.0}" \ "auth") if auth == None: self.fail("Expecting Auth") user = auth.find("{http://docs.openstack.org/identity/api/v2.0}" \ "user") if user == None: self.fail("Expecting User") roleRefs = user.find("{http://docs.openstack.org/identity/api/v2.0}" \ "roleRefs") if roleRefs == None: self.fail("Expecting Role Refs") roleRef = roleRefs.find("{http://docs.openstack.org/identity/api/v2.0}" \ "roleRef") if roleRef == None: self.fail("Expecting Role Refs") self.assertEqual(str(self.role_ref_id), roleRef.get("id"))
def test_a_get_version_xml(self): header = httplib2.Http(".cache") resp, content = header.request(utils.URL_V2, "GET", body="", headers={"Content-Type": "application/xml", "ACCEPT": "application/xml"}) self.assertEqual(200, int(resp['status'])) self.assertEqual('application/xml', utils.content_type(resp))
def test_a_authorize(self): resp, content = utils.get_token('joeuser', 'secrete', self.tenant) self.assertEqual(200, int(resp['status'])) obj = content if not "auth" in obj: raise fault.BadRequestFault("Expecting Auth") auth = obj["auth"] if not "serviceCatalog" in auth: raise fault.BadRequestFault("Expecting Service Catalog") self.assertEqual('application/json', utils.content_type(resp))
def test_validate_token_expired(self): header = httplib2.Http(".cache") url = "%stoken/%s?belongsTo=%s" % (utils.URL, self.exp_auth_token, self.tenant) resp, content = header.request( url, "GET", body="", headers={"Content-Type": "application/json", "X-Auth-Token": 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(resp["status"])) self.assertEqual("application/json", utils.content_type(resp))
def test_validate_token_invalid_xml(self): header = httplib2.Http(".cache") url = '%stokens/%s?belongsTo=%s' % (utils.URL, 'NonExistingToken', self.tenant) resp, content = header.request(url, "GET", body='', headers={"Content-Type": "application/json", "X-Auth-Token": self.auth_token}) if int(resp['status']) == 500: self.fail('Identity Fault') elif int(resp['status']) == 503: self.fail('Service Not Available') self.assertEqual(401, int(resp['status'])) self.assertEqual('application/json', utils.content_type(resp))
def test_validate_token_true_xml(self): header = httplib2.Http(".cache") url = '%stoken/%s?belongsTo=%s' % (utils.URL, self.token, self.tenant) resp, content = header.request(url, "GET", body='', headers={"Content-Type": "application/xml", "X-Auth-Token": self.auth_token, "ACCEPT": "application/xml"}) if int(resp['status']) == 500: self.fail('IDM fault') elif int(resp['status']) == 503: self.fail('Service Not Available') self.assertEqual(200, int(resp['status'])) self.assertEqual('application/xml', utils.content_type(resp))
def test_a_authorize_user_wrong(self): header = httplib2.Http(".cache") url = '%stoken' % utils.URL body = {"passwordCredentials": {"username-w": "disabled", "password": "******"}} 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') elif int(resp['status']) == 503: self.fail('Service Not Available') self.assertEqual(400, 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', self.tenant) self.assertEqual(200, int(resp['status'])) self.assertEqual('application/xml', utils.content_type(resp)) #verify content dom = etree.Element("root") dom.append(etree.fromstring(content)) auth = dom.find("{http://docs.openstack.org/identity/api/v2.0}" \ "auth") if auth == None: self.fail("Expecting Auth") service_catalog = auth.find( "{http://docs.openstack.org/identity/api/v2.0}" \ "serviceCatalog") if service_catalog == None: self.fail("Expecting Service Catalog")
def test_a_authorize_user_wrong_xml(self): header = httplib2.Http(".cache") url = '%stoken' % utils.URL body = '<?xml version="1.0" encoding="UTF-8"?> \ <passwordCredentials \ xmlns="http://docs.openstack.org/identity/api/v2.0" \ password="******" username-w="disabled" \ tenantId="%s"/>' % 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('Identity Fault') elif int(resp['status']) == 503: self.fail('Service Not Available') self.assertEqual(400, int(resp['status'])) self.assertEqual('application/xml', utils.content_type(resp))
def test_validate_token_true(self): header = httplib2.Http(".cache") url = '%stokens/%s?belongsTo=%s' % (utils.URL, self.token, self.tenant) resp, content = header.request(url, "GET", body='', headers={"Content-Type": "application/json", "X-Auth-Token": self.auth_token}) if int(resp['status']) == 500: self.fail('Identity Fault') elif int(resp['status']) == 503: self.fail('Service Not Available') self.assertEqual(200, int(resp['status'])) self.assertEqual('application/json', utils.content_type(resp)) #verify content obj = json.loads(content) if not "auth" in obj: raise self.fail("Expecting Auth") role_refs = obj["auth"]["user"]["roleRefs"] role_ref = role_refs[0] role_ref_id = role_ref["id"] self.assertEqual(self.role_ref_id, role_ref_id)
def test_a_authorize_xml(self): resp, content = utils.get_token_xml('joeuser', 'secrete', self.tenant) self.assertEqual(200, int(resp['status'])) self.assertEqual('application/xml', utils.content_type(resp))
def test_a_authorize(self): resp, content = utils.get_token('joeuser', 'secrete', '') self.assertEqual(200, int(resp['status'])) self.assertEqual('application/json', utils.content_type(resp))