Files
notifications-api/tests/notifications-python-client/test_utils.py
Kenneth Kehl 49a2e2f8dc more tests
2025-07-03 09:05:54 -07:00

38 lines
1.0 KiB
Python

import base64
from io import BytesIO
from notifications_python_client.utils import DOCUMENT_UPLOAD_SIZE_LIMIT, prepare_upload
def test_prepare_upload_success():
content = b"hello world"
f = BytesIO(content)
filename = "test.txt"
confirm_email_before_download = True
retention_period = "1 day"
result = prepare_upload(
f,
filename=filename,
confirm_email_before_download=confirm_email_before_download,
retention_period=retention_period,
)
expected = {
"file": base64.b64encode(content).decode("ascii"),
"filename": filename,
"confirm_email_before_download": confirm_email_before_download,
"retention_period": retention_period,
}
assert result == expected
def test_prepare_upload_file_too_large():
content = b"a" * (DOCUMENT_UPLOAD_SIZE_LIMIT + 1)
f = BytesIO(content)
try:
prepare_upload(f)
assert 1 == 0, "Expected ValueError for large file"
except ValueError as e:
assert str(e) == "File is larger than 2MB"