from sqlmodel import Session, SQLModel, create_engine def test_safety_signature_ignores_identical_discovery_history(tmp_path): from backend.app.db.models import DiscoveredContainer, DiscoveryRun from backend.app.services import inventory_discovery, safety_center_service engine = create_engine(f"sqlite:///{tmp_path / 'safety-signature.db'}") SQLModel.metadata.create_all(engine) with Session(engine) as session: session.add(DiscoveryRun(id="disc-1", status="success", containers_found=1)) session.add(DiscoveredContainer( id="dc-1", discovery_run_id="disc-1", container_id="container-1", name="AppOps", image="appops:test", state="running", status="running", import_status="managed", matched_app_id="appops", )) session.commit() inventory_discovery.invalidate_discovery_cache() with Session(engine) as session: first = safety_center_service._source_signature(session) with Session(engine) as session: session.add(DiscoveryRun(id="disc-2", status="success", containers_found=1)) session.add(DiscoveredContainer( id="dc-2", discovery_run_id="disc-2", container_id="container-1", name="AppOps", image="appops:test", state="running", status="running", import_status="managed", matched_app_id="appops", )) session.commit() inventory_discovery.invalidate_discovery_cache() with Session(engine) as session: second = safety_center_service._source_signature(session) assert second == first