test_storage.py 997 B

12345678910111213141516171819202122232425262728293031323334
  1. from datetime import datetime, timezone, timedelta
  2. from argus_mcp.models import MarketQuote, RegimeSnapshot
  3. from argus_mcp.storage import SnapshotStore
  4. def test_prune_snapshots_older_than(tmp_path):
  5. store = SnapshotStore(tmp_path / "argus.sqlite3")
  6. old_snapshot = RegimeSnapshot(
  7. snapshot_id="old",
  8. generated_at=datetime.now(timezone.utc) - timedelta(days=31),
  9. regime="neutral",
  10. confidence=0.1,
  11. summary="old",
  12. )
  13. fresh_snapshot = RegimeSnapshot(
  14. snapshot_id="fresh",
  15. generated_at=datetime.now(timezone.utc),
  16. regime="compression",
  17. confidence=0.5,
  18. summary="fresh",
  19. signals=[MarketQuote(symbol="QQQ", source="finnhub")],
  20. )
  21. store.save(old_snapshot)
  22. store.save(fresh_snapshot)
  23. deleted = store.prune_snapshots_older_than(30)
  24. assert deleted == 1
  25. assert store.count() == 1
  26. latest = store.latest()
  27. assert latest is not None
  28. assert latest.snapshot_id == "fresh"