lllin000_PaperForge/tests/test_ocr_artifacts.py

31 lines
1.2 KiB
Python
Raw Normal View History

from __future__ import annotations
from pathlib import Path
def test_phase1_artifact_layout_is_paper_local(tmp_path: Path) -> None:
from paperforge.worker.ocr_artifacts import artifact_paths_for_key
vault = tmp_path / "vault"
vault.mkdir()
paths = artifact_paths_for_key(vault, "ABCD1234")
assert paths.paper_root.as_posix().endswith("/ocr/ABCD1234")
assert paths.raw_meta.as_posix().endswith("/ocr/ABCD1234/raw/raw_meta.json")
assert paths.source_metadata.as_posix().endswith("/ocr/ABCD1234/raw/source_metadata.json")
assert paths.blocks_raw.as_posix().endswith("/ocr/ABCD1234/canonical/blocks.raw.jsonl")
assert paths.blocks_structured.as_posix().endswith("/ocr/ABCD1234/structure/blocks.structured.jsonl")
def test_raw_and_derived_version_payloads_have_separate_namespaces() -> None:
from paperforge.worker.ocr_artifacts import build_version_payload
payload = build_version_payload(
pdf_fingerprint="sha256:abc",
result_json_hash="sha256:def",
ocr_model="PaddleOCR-VL-1.6",
)
assert "raw_version" in payload
assert "derived_version" in payload
assert payload["raw_version"]["ocr_model"] == "PaddleOCR-VL-1.6"
assert "renderer_version" in payload["derived_version"]