chore: pin document recognition engine
Some checks failed
CI / Backend (lint + tests + compose) (push) Has been cancelled
CI / Frontend (lint + type-check + build) (push) Has been cancelled

This commit is contained in:
Vadim Malanov
2026-06-25 11:43:29 +03:00
parent 809d7244bf
commit 4fcec8039b
7 changed files with 154 additions and 459 deletions

View File

@@ -0,0 +1,63 @@
from pathlib import Path
def test_legacy_ocr_adapter_reexports_engine_model_and_settings(monkeypatch, tmp_path: Path) -> None:
from teamhub_document_recognition_engine import OcrResult as EngineOcrResult
import app.ingestion.ocr as legacy_ocr
calls = {}
def fake_run_ocr(input_pdf, output_pdf, **kwargs):
calls.update(kwargs)
return EngineOcrResult(output_path=output_pdf, skipped=True, reason="fake", languages=kwargs["languages"])
monkeypatch.setattr(legacy_ocr, "_engine_run_ocr", fake_run_ocr)
monkeypatch.setattr(legacy_ocr.settings, "ocr_enabled", False)
monkeypatch.setattr(legacy_ocr.settings, "ocr_deskew", False)
monkeypatch.setattr(legacy_ocr.settings, "ocr_clean", False)
monkeypatch.setattr(legacy_ocr.settings, "ocr_optimize", 0)
result = legacy_ocr.run_ocr(tmp_path / "in.pdf", tmp_path / "out.pdf", languages="eng")
assert legacy_ocr.OcrResult is EngineOcrResult
assert isinstance(result, EngineOcrResult)
assert calls == {
"languages": "eng",
"enabled": False,
"deskew": False,
"clean": False,
"optimize": 0,
}
def test_legacy_docling_adapter_reexports_engine_models_and_settings(monkeypatch, tmp_path: Path) -> None:
from teamhub_document_recognition_engine import (
ExtractedBlock as EngineExtractedBlock,
ExtractionResult as EngineExtractionResult,
)
import app.ingestion.docling_extractor as legacy_docling
calls = {}
def fake_extract(pdf_path, **kwargs):
calls.update(kwargs)
return EngineExtractionResult(
markdown="",
json_payload={},
blocks=[],
tables=[],
figures=[],
pages=[],
)
monkeypatch.setattr(legacy_docling, "_engine_extract", fake_extract)
monkeypatch.setattr(legacy_docling.settings, "docling_ocr_enabled", True)
result = legacy_docling.extract(tmp_path / "ocr.pdf")
assert legacy_docling.ExtractedBlock is EngineExtractedBlock
assert legacy_docling.ExtractionResult is EngineExtractionResult
assert isinstance(result, EngineExtractionResult)
assert calls == {"docling_ocr_enabled": True}