Example #1
0
    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"))
Example #2
0
 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))
Example #3
0
    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))
Example #4
0
 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))
Example #5
0
 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))
Example #6
0
 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))
Example #7
0
 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))
Example #8
0
 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")
Example #9
0
 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))
Example #10
0
    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)
Example #11
0
 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))
Example #12
0
 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))