def test_dry_run(self): self.cli_params['dryrun'] = True self.transfer_request_submitter = UploadStreamRequestSubmitter( self.transfer_manager, self.result_queue, self.cli_params) fileinfo = FileInfo(src=self.filename, src_type='local', operation_name='upload', dest=self.bucket + '/' + self.key, dest_type='s3') self.transfer_request_submitter.submit(fileinfo) result = self.result_queue.get() self.assertIsInstance(result, DryRunResult) self.assertEqual(result.transfer_type, 'upload') self.assertEqual(result.dest, 's3://' + self.bucket + '/' + self.key) self.assertEqual(result.src, '-')
def test_dry_run(self): self.cli_params['dryrun'] = True self.transfer_request_submitter = UploadStreamRequestSubmitter( self.transfer_manager, self.result_queue, self.cli_params) fileinfo = FileInfo( src=self.filename, src_type='local', operation_name='upload', dest=self.bucket + '/' + self.key, dest_type='s3') self.transfer_request_submitter.submit(fileinfo) result = self.result_queue.get() self.assertIsInstance(result, DryRunResult) self.assertEqual(result.transfer_type, 'upload') self.assertEqual(result.dest, 's3://' + self.bucket + '/' + self.key) self.assertEqual(result.src, '-')
def setUp(self): super(TestUploadStreamRequestSubmitter, self).setUp() self.filename = '-' self.cli_params['is_stream'] = True self.transfer_request_submitter = UploadStreamRequestSubmitter( self.transfer_manager, self.result_queue, self.cli_params)
class TestUploadStreamRequestSubmitter(BaseTransferRequestSubmitterTest): def setUp(self): super(TestUploadStreamRequestSubmitter, self).setUp() self.filename = '-' self.cli_params['is_stream'] = True self.transfer_request_submitter = UploadStreamRequestSubmitter( self.transfer_manager, self.result_queue, self.cli_params) def test_can_submit(self): fileinfo = FileInfo(src=self.filename, dest=self.bucket + '/' + self.key, operation_name='upload') self.assertTrue(self.transfer_request_submitter.can_submit(fileinfo)) self.cli_params['is_stream'] = False self.assertFalse(self.transfer_request_submitter.can_submit(fileinfo)) def test_submit(self): fileinfo = FileInfo(src=self.filename, dest=self.bucket + '/' + self.key) future = self.transfer_request_submitter.submit(fileinfo) self.assertIs(self.transfer_manager.upload.return_value, future) upload_call_kwargs = self.transfer_manager.upload.call_args[1] self.assertIsInstance(upload_call_kwargs['fileobj'], NonSeekableStream) self.assertEqual(upload_call_kwargs['bucket'], self.bucket) self.assertEqual(upload_call_kwargs['key'], self.key) self.assertEqual(upload_call_kwargs['extra_args'], {}) ref_subscribers = [UploadStreamResultSubscriber] actual_subscribers = upload_call_kwargs['subscribers'] self.assertEqual(len(ref_subscribers), len(actual_subscribers)) for i, actual_subscriber in enumerate(actual_subscribers): self.assertIsInstance(actual_subscriber, ref_subscribers[i]) def test_submit_with_expected_size_provided(self): provided_size = 100 self.cli_params['expected_size'] = provided_size fileinfo = FileInfo(src=self.filename, dest=self.bucket + '/' + self.key) self.transfer_request_submitter.submit(fileinfo) upload_call_kwargs = self.transfer_manager.upload.call_args[1] ref_subscribers = [ProvideSizeSubscriber, UploadStreamResultSubscriber] actual_subscribers = upload_call_kwargs['subscribers'] self.assertEqual(len(ref_subscribers), len(actual_subscribers)) for i, actual_subscriber in enumerate(actual_subscribers): self.assertIsInstance(actual_subscriber, ref_subscribers[i]) # The ProvideSizeSubscriber should be providing the correct size self.assertEqual(actual_subscribers[0].size, provided_size) def test_dry_run(self): self.cli_params['dryrun'] = True self.transfer_request_submitter = UploadStreamRequestSubmitter( self.transfer_manager, self.result_queue, self.cli_params) fileinfo = FileInfo(src=self.filename, src_type='local', operation_name='upload', dest=self.bucket + '/' + self.key, dest_type='s3') self.transfer_request_submitter.submit(fileinfo) result = self.result_queue.get() self.assertIsInstance(result, DryRunResult) self.assertEqual(result.transfer_type, 'upload') self.assertEqual(result.dest, 's3://' + self.bucket + '/' + self.key) self.assertEqual(result.src, '-')
def setUp(self): super(TestUploadStreamRequestSubmitter, self).setUp() self.filename = '-' self.cli_params['is_stream'] = True self.transfer_request_submitter = UploadStreamRequestSubmitter( self.transfer_manager, self.result_queue, self.cli_params)
class TestUploadStreamRequestSubmitter(BaseTransferRequestSubmitterTest): def setUp(self): super(TestUploadStreamRequestSubmitter, self).setUp() self.filename = '-' self.cli_params['is_stream'] = True self.transfer_request_submitter = UploadStreamRequestSubmitter( self.transfer_manager, self.result_queue, self.cli_params) def test_can_submit(self): fileinfo = FileInfo( src=self.filename, dest=self.bucket+'/'+self.key, operation_name='upload') self.assertTrue( self.transfer_request_submitter.can_submit(fileinfo)) self.cli_params['is_stream'] = False self.assertFalse( self.transfer_request_submitter.can_submit(fileinfo)) def test_submit(self): fileinfo = FileInfo( src=self.filename, dest=self.bucket+'/'+self.key) future = self.transfer_request_submitter.submit(fileinfo) self.assertIs(self.transfer_manager.upload.return_value, future) upload_call_kwargs = self.transfer_manager.upload.call_args[1] self.assertIsInstance( upload_call_kwargs['fileobj'], NonSeekableStream) self.assertEqual(upload_call_kwargs['bucket'], self.bucket) self.assertEqual(upload_call_kwargs['key'], self.key) self.assertEqual(upload_call_kwargs['extra_args'], {}) ref_subscribers = [ UploadStreamResultSubscriber ] actual_subscribers = upload_call_kwargs['subscribers'] self.assertEqual(len(ref_subscribers), len(actual_subscribers)) for i, actual_subscriber in enumerate(actual_subscribers): self.assertIsInstance(actual_subscriber, ref_subscribers[i]) def test_submit_with_expected_size_provided(self): provided_size = 100 self.cli_params['expected_size'] = provided_size fileinfo = FileInfo( src=self.filename, dest=self.bucket+'/'+self.key) self.transfer_request_submitter.submit(fileinfo) upload_call_kwargs = self.transfer_manager.upload.call_args[1] ref_subscribers = [ ProvideSizeSubscriber, UploadStreamResultSubscriber ] actual_subscribers = upload_call_kwargs['subscribers'] self.assertEqual(len(ref_subscribers), len(actual_subscribers)) for i, actual_subscriber in enumerate(actual_subscribers): self.assertIsInstance(actual_subscriber, ref_subscribers[i]) # The ProvideSizeSubscriber should be providing the correct size self.assertEqual(actual_subscribers[0].size, provided_size) def test_dry_run(self): self.cli_params['dryrun'] = True self.transfer_request_submitter = UploadStreamRequestSubmitter( self.transfer_manager, self.result_queue, self.cli_params) fileinfo = FileInfo( src=self.filename, src_type='local', operation_name='upload', dest=self.bucket + '/' + self.key, dest_type='s3') self.transfer_request_submitter.submit(fileinfo) result = self.result_queue.get() self.assertIsInstance(result, DryRunResult) self.assertEqual(result.transfer_type, 'upload') self.assertEqual(result.dest, 's3://' + self.bucket + '/' + self.key) self.assertEqual(result.src, '-')