| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- from __future__ import annotations
- from app.core.data_research.extractors.base import ExtractionContext
- class FakeOcrService:
- def extract_pages(self, pages):
- from app.core.data_research.ocr.service import OcrResult
- assert pages == [b"image"]
- return [
- OcrResult(
- text="customer_id 客户编号",
- bbox=(0.1, 0.2, 0.7, 0.3),
- page=1,
- confidence=0.65,
- review_required=True,
- )
- ]
- def test_png_and_jpeg_are_supported_with_normalized_ocr_evidence():
- from app.core.data_research.extractors.image import ImageExtractor
- extractor = ImageExtractor(FakeOcrService())
- assert extractor.can_handle("image/png", "scan.png")
- assert extractor.can_handle("image/jpeg", "scan.jpg")
- batch = extractor.extract(
- b"image",
- ExtractionContext(filename="scan.png", media_type="image/png"),
- )
- assert batch.parser_version == "image-ocr-v1"
- assert batch.items[0].data["review_required"] is True
- assert batch.items[0].evidence[0].locator == {
- "kind": "image.ocr",
- "page": 1,
- "bbox": [0.1, 0.2, 0.7, 0.3],
- }
- assert batch.items[0].evidence[0].confidence == 0.65
|