From c0e0e02f2ea3c394d0723f41c3aeadb2c93719fc Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sun, 19 Jul 2026 06:37:16 +0000 Subject: [PATCH] test: add coverage for missing file rasterization error Adds a new test `test_missing_file_for_rasterizer_raises_error` in `openmed/tests/unit/multimodal/test_verify_pdf.py` to trigger the `FileNotFoundError` during rasterization. This effectively increases the test coverage for the exception handling inside `_visual_change()`. Co-authored-by: zrt219 <199104500+zrt219@users.noreply.github.com> --- .../tests/unit/multimodal/test_verify_pdf.py | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/openmed/tests/unit/multimodal/test_verify_pdf.py b/openmed/tests/unit/multimodal/test_verify_pdf.py index 7d24f60..a2c081c 100644 --- a/openmed/tests/unit/multimodal/test_verify_pdf.py +++ b/openmed/tests/unit/multimodal/test_verify_pdf.py @@ -364,3 +364,28 @@ def test_real_pdfplumber_end_to_end(tmp_path): # A "redacted" file identical to the original means nothing was applied. unchanged_report = verify_redacted_pdf(original, original, regions) assert not unchanged_report.passed + +def test_missing_file_for_rasterizer_raises_error(monkeypatch): + import openmed.multimodal.verify_pdf as verify_pdf + + class FakePage: + page_number = 1 + bbox = (0, 0, 100, 100) + def extract_words(self, *args, **kwargs): return [] + def extract_text(self, *args, **kwargs): return "" + @property + def rects(self): return [] + @property + def curves(self): return [] + + def fake_read_pdf_layout(path): + return {1: FakePage()} + + monkeypatch.setattr(verify_pdf, "_read_pdf_layout", fake_read_pdf_layout) + + with pytest.raises(FileNotFoundError, match="Could not read a PDF for visual verification of"): + verify_redacted_pdf( + "original_nonexistent.pdf", + "redacted_nonexistent.pdf", + [{"page": 0, "bbox": (0, 0, 10, 10)}] + )