| 12345678910111213141516171819202122232425262728293031323334 |
- 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"
|