From 4b0780c1813648dbe146ddd839841e1a26ab5089 Mon Sep 17 00:00:00 2001 From: marsal Date: Fri, 10 Jul 2026 12:19:43 +0800 Subject: [PATCH] feat(event): add daily cleanup for delivered/dead-letter events --- channel-service/tests/test_event_store.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/channel-service/tests/test_event_store.py b/channel-service/tests/test_event_store.py index 907f18d..2bcc637 100644 --- a/channel-service/tests/test_event_store.py +++ b/channel-service/tests/test_event_store.py @@ -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