Files
odysseus/tests/test_upload_id_validation.py
Afonso Coutinho a3b3dbafde fix: uploaded files with no extension become permanently unresolvable (#1275)
* fix: accept extensionless upload ids so files like Dockerfile resolve

* test: upload id validation accepts extensionless ids
2026-06-03 01:16:30 +09:00

22 lines
747 B
Python

"""Tests for upload id validation (src/upload_handler.py)."""
import uuid
from src.upload_handler import is_valid_upload_id
def test_extensionless_id_is_valid():
# save_upload builds `{uuid.hex}{ext}`; a file with no extension yields a
# bare 32-hex id, which used to fail validation and become unresolvable.
assert is_valid_upload_id(uuid.uuid4().hex) is True
def test_id_with_extension_still_valid():
assert is_valid_upload_id(uuid.uuid4().hex + ".png") is True
def test_invalid_ids_rejected():
assert is_valid_upload_id("not-an-id") is False
assert is_valid_upload_id(uuid.uuid4().hex + ".") is False
assert is_valid_upload_id("") is False
assert is_valid_upload_id(uuid.uuid4().hex + ".tar.gz") is False