"""Tests for the S3 connector.""" from unittest.mock import MagicMock from unittest.mock import patch import pytest from moneyhub.connectors import s3 @pytest.mark.parametrize('bucket, key', [ ('holy_bucket', 'test/file.png'), ('another_bucket', '1234/4321/file.csv'), ]) @patch('moneyhub.connectors.s3.boto3') def test_create_presigned_url(mock_boto3, bucket, key): """Test creating a presigned URL.""" mock_client = MagicMock() mock_boto3.client.return_value = mock_client s3.create_presigned_url(bucket, key) mock_client.generate_presigned_url.assert_called_once_with( ClientMethod='get_object', ExpiresIn=30, Params={'Bucket': bucket, 'Key': key}, )