Esempio n. 1
0
 def test_upload_above_threshold(self):
     config = ibm_s3transfer.TransferConfig(multipart_threshold=2 * 1024 *
                                            1024)
     transfer = self.create_s3_transfer(config)
     filename = self.files.create_file_with_size('20mb.txt',
                                                 filesize=20 * 1024 * 1024)
     transfer.upload_file(filename, self.bucket_name, '20mb.txt')
     self.addCleanup(self.delete_object, '20mb.txt')
     self.assertTrue(self.object_exists('20mb.txt'))
Esempio n. 2
0
    def test_upload_file_above_threshold_with_acl(self):
        config = ibm_s3transfer.TransferConfig(multipart_threshold=5 * 1024 *
                                               1024)
        transfer = self.create_s3_transfer(config)
        filename = self.files.create_file_with_size('6mb.txt',
                                                    filesize=6 * 1024 * 1024)
        extra_args = {'ACL': 'public-read'}
        transfer.upload_file(filename,
                             self.bucket_name,
                             '6mb.txt',
                             extra_args=extra_args)
        self.addCleanup(self.delete_object, '6mb.txt')

        self.assertTrue(self.object_exists('6mb.txt'))
        response = self.client.get_object_acl(Bucket=self.bucket_name,
                                              Key='6mb.txt')
        self.assert_has_public_read_acl(response)
 def test_upload_file_above_threshold_with_ssec(self):
     key_bytes = os.urandom(32)
     extra_args = {
         'SSECustomerKey': key_bytes,
         'SSECustomerAlgorithm': 'AES256',
     }
     config = ibm_s3transfer.TransferConfig(multipart_threshold=5 * 1024 *
                                            1024)
     transfer = self.create_s3_transfer(config)
     filename = self.files.create_file_with_size('6mb.txt',
                                                 filesize=6 * 1024 * 1024)
     transfer.upload_file(filename,
                          self.bucket_name,
                          '6mb.txt',
                          extra_args=extra_args)
     self.addCleanup(self.delete_object, '6mb.txt')
     # A head object will fail if it has a customer key
     # associated with it and it's not provided in the HeadObject
     # request so we can use this to verify our functionality.
     response = self.client.head_object(Bucket=self.bucket_name,
                                        Key='6mb.txt',
                                        **extra_args)
     self.assertEqual(response['SSECustomerAlgorithm'], 'AES256')