From 82a9a43d03001f4d92ae17ad6c8378cade4f7808 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Mon, 14 Sep 2026 18:50:26 +0000 Subject: [PATCH] test: lock format_router extensions to parse adapters Keep SUPPORTED_FILE_TYPES, resolve_document_format, and get_document_parse_adapter as inverses so a new extension cannot ship without an adapter (or the reverse). Co-authored-by: Frankie-Xu --- .../unit/test_format_router_adapter_map.py | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 apps/worker/tests/unit/test_format_router_adapter_map.py diff --git a/apps/worker/tests/unit/test_format_router_adapter_map.py b/apps/worker/tests/unit/test_format_router_adapter_map.py new file mode 100644 index 00000000..2d246bbb --- /dev/null +++ b/apps/worker/tests/unit/test_format_router_adapter_map.py @@ -0,0 +1,28 @@ +from __future__ import annotations + +import pytest + +from app.services.document_parser.orchestration.format_router import ( + SUPPORTED_FILE_TYPES, + DocumentFormat, + get_document_parse_adapter, + resolve_document_format, +) + + +@pytest.mark.parametrize("extension", SUPPORTED_FILE_TYPES) +def test_supported_extension_resolves_to_an_adapter(extension: str) -> None: + document_format = resolve_document_format(f"sample{extension}") + adapter = get_document_parse_adapter(document_format) + assert adapter.document_format is document_format + + +def test_adapter_formats_and_supported_extensions_are_inverses() -> None: + resolved_formats = { + resolve_document_format(f"sample{extension}") + for extension in SUPPORTED_FILE_TYPES + } + assert resolved_formats == set(DocumentFormat) + for document_format in DocumentFormat: + adapter = get_document_parse_adapter(document_format) + assert adapter.document_format is document_format