Exemple #1
0
 def test_virtual_host_style_for_make_bucket(self):
     request = AWSRequest(method='PUT',
                          headers={},
                          url='https://foo.amazonaws.com/bucket')
     region_name = 'us-west-2'
     signature_version = 's3'
     switch_to_virtual_host_style(request=request,
                                  signature_version=signature_version,
                                  region_name=region_name)
     self.assertEqual(request.url, 'https://bucket.foo.amazonaws.com/')
Exemple #2
0
 def test_throws_invalid_dns_name_error(self):
     request = AWSRequest(
         method='PUT', headers={},
         url='https://foo.amazonaws.com/mybucket.foo/key.txt'
     )
     region_name = 'us-west-2'
     signature_version = 's3'
     with self.assertRaises(InvalidDNSNameError):
         switch_to_virtual_host_style(
             request=request, signature_version=signature_version,
             region_name=region_name)
Exemple #3
0
 def test_throws_invalid_dns_name_error(self):
     request = AWSRequest(
         method='PUT',
         headers={},
         url='https://foo.amazonaws.com/mybucket.foo/key.txt')
     region_name = 'us-west-2'
     signature_version = 's3'
     with self.assertRaises(InvalidDNSNameError):
         switch_to_virtual_host_style(request=request,
                                      signature_version=signature_version,
                                      region_name=region_name)
Exemple #4
0
 def test_is_unaffected_by_sigv4(self):
     request = AWSRequest(
         method='PUT', headers={},
         url='https://foo.amazonaws.com/bucket/key.txt'
     )
     region_name = 'us-west-2'
     signature_version = 's3v4'
     switch_to_virtual_host_style(
         request=request, signature_version=signature_version,
         region_name=region_name, default_endpoint_url='s3.amazonaws.com')
     self.assertEqual(request.url,
                      'https://bucket.s3.amazonaws.com/key.txt')
Exemple #5
0
 def test_virtual_host_style_for_make_bucket(self):
     request = AWSRequest(
         method='PUT', headers={},
         url='https://foo.amazonaws.com/bucket'
     )
     region_name = 'us-west-2'
     signature_version = 's3'
     switch_to_virtual_host_style(
         request=request, signature_version=signature_version,
         region_name=region_name)
     self.assertEqual(request.url,
                      'https://bucket.foo.amazonaws.com/')
Exemple #6
0
 def test_is_unaffected_by_sigv4(self):
     request = AWSRequest(method='PUT',
                          headers={},
                          url='https://foo.amazonaws.com/bucket/key.txt')
     region_name = 'us-west-2'
     signature_version = 's3v4'
     switch_to_virtual_host_style(request=request,
                                  signature_version=signature_version,
                                  region_name=region_name,
                                  default_endpoint_url='s3.amazonaws.com')
     self.assertEqual(request.url,
                      'https://bucket.s3.amazonaws.com/key.txt')
Exemple #7
0
 def test_virtual_host_style_not_used_for_list_buckets(self):
     original_url = 'https://foo.amazonaws.com/'
     request = AWSRequest(
         method='GET', headers={},
         url=original_url,
     )
     signature_version = 's3'
     region_name = 'us-west-2'
     switch_to_virtual_host_style(
         request=request, signature_version=signature_version,
         region_name=region_name)
     # The request url should not have been modified because this is
     # a request for GetBucketLocation.
     self.assertEqual(request.url, original_url)
Exemple #8
0
 def test_virtual_host_style_not_used_for_list_buckets(self):
     original_url = 'https://foo.amazonaws.com/'
     request = AWSRequest(
         method='GET',
         headers={},
         url=original_url,
     )
     signature_version = 's3'
     region_name = 'us-west-2'
     switch_to_virtual_host_style(request=request,
                                  signature_version=signature_version,
                                  region_name=region_name)
     # The request url should not have been modified because this is
     # a request for GetBucketLocation.
     self.assertEqual(request.url, original_url)
Exemple #9
0
 def test_fix_s3_host_only_applied_once(self):
     request = AWSRequest(method='PUT',
                          headers={},
                          url='https://foo.amazonaws.com/bucket/key.txt')
     region_name = 'us-west-2'
     signature_version = 's3'
     switch_to_virtual_host_style(request=request,
                                  signature_version=signature_version,
                                  region_name=region_name)
     # Calling the handler again should not affect the end result:
     switch_to_virtual_host_style(request=request,
                                  signature_version=signature_version,
                                  region_name=region_name)
     self.assertEqual(request.url,
                      'https://bucket.foo.amazonaws.com/key.txt')
     # This was a bug previously.  We want to make sure that
     # calling fix_s3_host() again does not alter the auth_path.
     # Otherwise we'll get signature errors.
     self.assertEqual(request.auth_path, '/bucket/key.txt')
Exemple #10
0
 def test_fix_s3_host_only_applied_once(self):
     request = AWSRequest(
         method='PUT', headers={},
         url='https://foo.amazonaws.com/bucket/key.txt'
     )
     region_name = 'us-west-2'
     signature_version = 's3'
     switch_to_virtual_host_style(
         request=request, signature_version=signature_version,
         region_name=region_name)
     # Calling the handler again should not affect the end result:
     switch_to_virtual_host_style(
         request=request, signature_version=signature_version,
         region_name=region_name)
     self.assertEqual(request.url,
                      'https://bucket.foo.amazonaws.com/key.txt')
     # This was a bug previously.  We want to make sure that
     # calling fix_s3_host() again does not alter the auth_path.
     # Otherwise we'll get signature errors.
     self.assertEqual(request.auth_path, '/bucket/key.txt')