Exemple #1
0
def aws_route_file(bucket_name, bucket_file_path, local_path):
    """Route file to either S3 bucket or local filesystem."""
    if os.path.isdir(bucket_name):
        copy_to_local_dir(bucket_name,
                          local_path,
                          bucket_file_path,)
    else:
        upload_to_s3(bucket_name,
                     bucket_file_path,
                     local_path)
Exemple #2
0
 def test_upload_to_s3_success(self, mock_boto_resource):
     """Test upload_to_s3 method with mock s3."""
     bucket_name = "my_bucket"
     s3_client = Mock()
     s3_client.Bucket.create.return_value = Mock()
     s3_client.Bucket.return_value.upload_file.return_value = Mock()
     mock_boto_resource.return_value = s3_client
     s3_client = boto3.resource("s3")
     s3_client.Bucket(bucket_name).create()
     with NamedTemporaryFile(delete=False) as t_file:
         success = upload_to_s3(bucket_name, "/file.txt", t_file.name)
     self.assertTrue(success)
     os.remove(t_file.name)
Exemple #3
0
 def test_upload_failure(self, mock_boto_resource):
     """Test upload_to_s3 method with mock s3."""
     bucket_name = 'my_bucket'
     s3_client = Mock()
     s3_client.Bucket.create.return_value = Mock()
     s3_client.Bucket.return_value.upload_file.side_effect = ClientError(
         {'Error': {}}, 'Create')
     mock_boto_resource.return_value = s3_client
     s3_client = boto3.resource('s3')
     s3_client.Bucket(bucket_name).create()
     t_file = NamedTemporaryFile(delete=False)
     success = upload_to_s3(bucket_name, '/file.txt', t_file.name)
     self.assertFalse(success)
     os.remove(t_file.name)