30 lines
1.0 KiB
Python
30 lines
1.0 KiB
Python
from __future__ import annotations
|
|
|
|
from pathlib import Path
|
|
|
|
from ocr_pipeline.output.markdown import MarkdownWriter
|
|
|
|
|
|
def test_writer_uses_metadata_and_unique_source_hash(tmp_path: Path, monkeypatch) -> None:
|
|
from ocr_pipeline.output import markdown
|
|
|
|
monkeypatch.setattr(markdown.settings.output, "base_directory", str(tmp_path))
|
|
monkeypatch.setattr(markdown.settings.output, "organize_by", "date_run")
|
|
writer = MarkdownWriter()
|
|
writer.start_run("2026-07-19T12:00:00+00:00", 2)
|
|
metadata = {
|
|
"source_path": "/screenshots/SCR-001.png",
|
|
"source_hash": "0123456789abcdef",
|
|
"timestamp": "2026-07-19T12:00:00+00:00",
|
|
"chunk_index": 0,
|
|
"total_chunks": 1,
|
|
}
|
|
|
|
output = writer.write_chunk(content="recognized text", metadata=metadata)
|
|
|
|
assert output.name == "SCR-001_0123456789ab.md"
|
|
text = output.read_text(encoding="utf-8")
|
|
assert "# Screenshot: SCR-001.png" in text
|
|
assert "recognized text" in text
|
|
assert "source_hash: 0123456789abcdef" in text
|