Files
Unraid-AppOps-Gateway-Public/backend/tests/test_performance_regressions.py
T

36 lines
1.5 KiB
Python

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