feat(event): add daily cleanup for delivered/dead-letter events
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import os
|
||||
import tempfile
|
||||
from datetime import datetime, timedelta, timezone
|
||||
|
||||
import pytest
|
||||
|
||||
@@ -40,3 +41,19 @@ def test_mark_delivered(store):
|
||||
store.mark_delivered(event.event_id)
|
||||
pending = store.fetch_pending(limit=10)
|
||||
assert len(pending) == 0
|
||||
|
||||
|
||||
def test_cleanup_old_delivered_events(store):
|
||||
old_event = OutboundEvent(EventType.HEARTBEAT, "bot-001", "rescue", {})
|
||||
store.save(old_event)
|
||||
store.mark_delivered(old_event.event_id)
|
||||
|
||||
# Modify created_at to be 11 days ago.
|
||||
with store._connection() as conn:
|
||||
conn.execute(
|
||||
"UPDATE outbound_events SET created_at = ? WHERE id = ?",
|
||||
(datetime.now(timezone.utc) - timedelta(days=11), old_event.event_id),
|
||||
)
|
||||
|
||||
deleted = store.cleanup(10)
|
||||
assert deleted == 1
|
||||
|
||||
Reference in New Issue
Block a user