2019-01-30 09:42:15 +00:00
|
|
|
from unittest.mock import Mock
|
|
|
|
|
|
|
|
|
|
from app.s3_client.s3_csv_client import set_metadata_on_csv_upload
|
|
|
|
|
|
|
|
|
|
|
2022-01-04 18:33:23 +00:00
|
|
|
def test_sets_metadata(client_request, mocker):
|
2023-08-25 09:12:23 -07:00
|
|
|
mocked_s3_object = Mock(
|
|
|
|
|
bucket_name="test-csv-upload", key="service-1234-notify/5678.csv"
|
|
|
|
|
)
|
2019-01-30 09:42:15 +00:00
|
|
|
mocked_get_s3_object = mocker.patch(
|
2023-08-25 09:12:23 -07:00
|
|
|
"app.s3_client.s3_csv_client.get_csv_upload",
|
2019-01-30 09:42:15 +00:00
|
|
|
return_value=mocked_s3_object,
|
|
|
|
|
)
|
|
|
|
|
|
2023-08-25 09:12:23 -07:00
|
|
|
set_metadata_on_csv_upload("1234", "5678", foo="bar", baz=True)
|
2019-01-30 09:42:15 +00:00
|
|
|
|
2023-08-25 09:12:23 -07:00
|
|
|
mocked_get_s3_object.assert_called_once_with("1234", "5678")
|
2019-01-30 09:42:15 +00:00
|
|
|
mocked_s3_object.copy_from.assert_called_once_with(
|
2023-08-25 09:12:23 -07:00
|
|
|
CopySource="test-csv-upload/service-1234-notify/5678.csv",
|
|
|
|
|
Metadata={"baz": "True", "foo": "bar"},
|
|
|
|
|
MetadataDirective="REPLACE",
|
|
|
|
|
ServerSideEncryption="AES256",
|
2019-01-30 09:42:15 +00:00
|
|
|
)
|