"""Tests S3 connectors.""" from unittest.mock import patch from moto import mock_aws from royalties.connectors.s3 import create_presigned_url, get_s3_client @mock_aws def test_get_s3_client(): """Test getting an s3 client.""" client = get_s3_client() assert client @patch('royalties.connectors.s3.get_s3_client') def test_create_presigned_url(mock_client): """Test retrieving a presigned url for the given bucket/key.""" bucket = 'kobe!' key = 'gigi' mock_client.generate_presigned_url.return_value = ( 'https://black-mamba.s3.amazonaws.com/presigned_key' ) res = create_presigned_url(mock_client, bucket, key) assert res == 'https://black-mamba.s3.amazonaws.com/presigned_key' mock_client.generate_presigned_url.assert_called_once_with( ClientMethod='get_object', ExpiresIn=10, Params={'Bucket': bucket, 'Key': key} )