from datetime import datetime from PIL import Image from recap.ingestion.image import load_image_event def test_loads_image_with_provided_date_and_category(tmp_path): p = tmp_path / "fundus.png" Image.new("RGB", (100, 100), "white").save(p) e = load_image_event( str(p), category="scan", title="Right fundus", date_iso="2023-04-01", source_id="fundus_2023.png", ) assert e.category == "scan" assert e.date == datetime.fromisoformat("2023-04-01T00:00:00+00:00") assert e.source == "fundus_2023.png" assert "fundus" in e.title.lower() def test_default_source_id_is_filename(tmp_path): p = tmp_path / "ct_chest.png" Image.new("RGB", (10, 10), "black").save(p) e = load_image_event(str(p), category="scan", title="CT chest", date_iso="2024-01-15") assert e.source == "ct_chest.png" def test_image_path_preserved_in_metadata(tmp_path): p = tmp_path / "wound.jpg" Image.new("RGB", (10, 10), "red").save(p) e = load_image_event(str(p), category="photo", title="Wound day 7", date_iso="2024-06-20") assert e.metadata["path"] == str(p)