"""S3 test module.""" import boto3 import pytest from moto import mock_aws from src.utils import s3 @pytest.fixture() def s3_instance(aws_credentials): """Return an S3Util instance.""" with mock_aws(): s3_util_instance = s3.S3Util() s3_util_instance.s3_client.create_bucket(Bucket='test-bucket') s3_util_instance.s3_client.meta.client.upload_file( 'tests/results.csv', 'test-bucket', 'results.csv') yield s3_util_instance def test_download_audit_log(s3_instance): """Test download_audit_log function.""" s3_object_path = 's3://test-bucket/results.csv' file_name = s3_instance.download_audit_log(s3_object_path) assert file_name == '/tmp/results.csv' assert boto3.resource('s3').Object('test-bucket', 'results.csv').content_length == 0 # noqa: E501