示例#1
0
 def test_detects_anyCredentials(self):
     self.content_type = "application/xml"
     self.body = '<auth '\
                 'xmlns="http://docs.openstack.org/identity/api/v2.0">'\
                 '<anyCredentials/></auth>'
     self.assertEquals(utils.detect_credential_type(self),
                       "anyCredentials")
示例#2
0
 def test_detects_passwordCredentials(self):
     self.content_type = "application/xml"
     self.body = '<auth '\
                 'xmlns="http://docs.openstack.org/identity/api/v2.0">'\
                 '<passwordCredentials/></auth>'
     self.assertEquals(utils.detect_credential_type(self),
                       "passwordCredentials")
示例#3
0
 def authenticate(self, req):
     credential_type = utils.detect_credential_type(req)
     if credential_type == "passwordCredentials":
         auth_with_credentials = utils.get_normalized_request_content(
                 auth.AuthWithPasswordCredentials, req)
         result = self.identity_service.authenticate(
                 auth_with_credentials)
         return utils.send_result(200, req, result)
     elif credential_type == "token":
         unscoped = utils.get_normalized_request_content(
             auth.AuthWithUnscopedToken, req)
         result = self.identity_service.\
             authenticate_with_unscoped_token(unscoped)
         return utils.send_result(200, req, result)
     elif credential_type == "OS-KSEC2:ec2Credentials":
         return self._authenticate_ec2(req)
     elif credential_type == "OS-KSS3:s3Credentials":
         return self._authenticate_s3(req)
     elif credential_type in ["ec2Credentials", "OS-KSEC2-ec2Credentials"]:
         logger.warning('Received EC2 credentials in %s format. Processing '
                        'may fail. Update the client code sending this '
                        'format' % credential_type)
         return self._authenticate_ec2(req)
     else:
         raise fault.BadRequestFault("Invalid credentials %s" %
                                     credential_type)
示例#4
0
 def test_detects_anyCredentials_with_tenant_json(self):
     self.content_type = "application/json"
     self.body = json.dumps(
         {'auth': {
             'tenantId': '1000',
             'anyCredentials': {}
         }})
     self.assertEquals(utils.detect_credential_type(self), "anyCredentials")
示例#5
0
 def test_detects_anyCredentials_with_tenant_json(self):
     self.content_type = "application/json"
     self.body = json.dumps({'auth': {'tenantId': '1000',
                                      'anyCredentials': {}}})
     self.assertEquals(utils.detect_credential_type(self),
                       "anyCredentials")
示例#6
0
 def test_detects_anyUnwrappedCredentials_json(self):
     self.content_type = "application/json"
     self.body = json.dumps({'anyCredentials': {}})
     self.assertEquals(utils.detect_credential_type(self),
                       "anyCredentials")
示例#7
0
 def test_detects_passwordCredentials_unwrapped(self):
     self.content_type = "application/xml"
     self.body = '<passwordCredentials '\
                 'xmlns="http://docs.openstack.org/identity/api/v2.0"/>'
     self.assertEquals(utils.detect_credential_type(self),
                       "passwordCredentials")
示例#8
0
 def test_detects_anyUnwrappedCredentials_json(self):
     self.content_type = "application/json"
     self.body = json.dumps({'anyCredentials': {}})
     self.assertEquals(utils.detect_credential_type(self), "anyCredentials")