Files
ctms/backend/tests/test_document_file_names.py
T
Cheng Zhou d5279b124f
Storage Persistence Guard / storage-persistence-audit (push) Has been cancelled
Client Quality Gates / Shared client and Web (push) Has been cancelled
Client Quality Gates / macOS Desktop (push) Has been cancelled
Client Quality Gates / Shared client and Web (pull_request) Has been cancelled
Client Quality Gates / macOS Desktop (pull_request) Has been cancelled
Storage Persistence Guard / storage-persistence-audit (pull_request) Has been cancelled
release(main): 同步 dev 最新候选改动
2026-07-16 17:15:50 +08:00

23 lines
1.0 KiB
Python

from types import SimpleNamespace
from app.services.document_service import _content_disposition, _legacy_download_filename, _safe_original_filename
def test_safe_original_filename_strips_paths_and_control_characters():
assert _safe_original_filename(r"C:\fakepath\研究方案.xlsx") == "研究方案.xlsx"
assert _safe_original_filename("../研究\n方案.xlsx") == "研究方案.xlsx"
def test_content_disposition_preserves_unicode_filename():
header = _content_disposition("研究方案 V1.0.xlsx")
assert header.startswith('attachment; filename="')
assert "filename*=UTF-8''%E7%A0%94%E7%A9%B6%E6%96%B9%E6%A1%88%20V1.0.xlsx" in header
def test_legacy_download_filename_uses_document_title_instead_of_storage_uuid():
version = SimpleNamespace(file_uri="/uploads/fa6ab7ab-f4f5-4d4a-a052-693f780010fd.pdf")
assert _legacy_download_filename(version, SimpleNamespace(title="研究方案")) == "研究方案.pdf"
assert _legacy_download_filename(version, SimpleNamespace(title="研究方案.PDF")) == "研究方案.PDF"