Esempio n. 1
0
 def test_s3_sigv4_presign(self):
     auth = ibm_botocore.auth.S3SigV4QueryAuth(self.credentials,
                                               self.service_name,
                                               self.region_name,
                                               expires=60)
     request = AWSRequest()
     request.method = 'GET'
     request.url = (
         'https://s3.us-west-2.amazonaws.com/mybucket/keyname/.bar')
     auth.add_auth(request)
     query_string = self.get_parsed_query_string(request)
     # We use a different payload:
     self.assertEqual(auth.payload(request), 'UNSIGNED-PAYLOAD')
     # which will result in a different X-Amz-Signature:
     self.assertEqual(
         query_string, {
             'X-Amz-Algorithm':
             'AWS4-HMAC-SHA256',
             'X-Amz-Credential': ('access_key/20140101/myregion/'
                                  'myservice/aws4_request'),
             'X-Amz-Date':
             '20140101T000000Z',
             'X-Amz-Expires':
             '60',
             'X-Amz-Signature': ('ac1b8b9e47e8685c5c963d75e35e8741d55251'
                                 'cd955239cc1efad4dc7201db66'),
             'X-Amz-SignedHeaders':
             'host'
         })
Esempio n. 2
0
 def test_payload_not_signed_if_disabled_in_context(self):
     request = AWSRequest()
     request.data = u'\u2713'.encode('utf-8')
     request.url = 'https://amazonaws.com'
     request.context['payload_signing_enabled'] = False
     auth = self.create_signer()
     payload = auth.payload(request)
     self.assertEqual(payload, 'UNSIGNED-PAYLOAD')
Esempio n. 3
0
 def test_payload_is_bytes_type(self):
     request = AWSRequest()
     request.data = u'\u2713'.encode('utf-8')
     auth = self.create_signer()
     payload = auth.payload(request)
     self.assertEqual(
         payload,
         '1dabba21cdad44541f6b15796f8d22978fc7ea10c46aeceeeeb66c23b3ac7604')
Esempio n. 4
0
 def test_payload_is_binary_file(self):
     request = AWSRequest()
     request.data = six.BytesIO(u'\u2713'.encode('utf-8'))
     request.url = 'https://amazonaws.com'
     auth = self.create_signer()
     payload = auth.payload(request)
     self.assertEqual(
         payload,
         '1dabba21cdad44541f6b15796f8d22978fc7ea10c46aeceeeeb66c23b3ac7604')