from datetime import datetime, timezone, timedelta from argus_mcp.models import MarketQuote, RegimeSnapshot from argus_mcp.storage import SnapshotStore def test_prune_snapshots_older_than(tmp_path): store = SnapshotStore(tmp_path / "argus.sqlite3") old_snapshot = RegimeSnapshot( snapshot_id="old", generated_at=datetime.now(timezone.utc) - timedelta(days=31), regime="neutral", confidence=0.1, summary="old", ) fresh_snapshot = RegimeSnapshot( snapshot_id="fresh", generated_at=datetime.now(timezone.utc), regime="compression", confidence=0.5, summary="fresh", signals=[MarketQuote(symbol="QQQ", source="finnhub")], ) store.save(old_snapshot) store.save(fresh_snapshot) deleted = store.prune_snapshots_older_than(30) assert deleted == 1 assert store.count() == 1 latest = store.latest() assert latest is not None assert latest.snapshot_id == "fresh"