From 7546245e4557aab3de2a4c993b573813cd82a3ef Mon Sep 17 00:00:00 2001 From: Fabio Bonelli Date: Mon, 9 Nov 2026 20:20:53 +0000 Subject: [PATCH 1/2] test: cover event purge shutdown --- internal/database/events_test.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/internal/database/events_test.go b/internal/database/events_test.go index cf66088..d133c3a 100644 --- a/internal/database/events_test.go +++ b/internal/database/events_test.go @@ -93,6 +93,25 @@ func TestStartEventPurgeDeletesOnStartup(t *testing.T) { }, time.Second, 10*time.Millisecond) } +func TestStartEventPurgeStopsAfterShutdown(t *testing.T) { + gormdb := newEventDatabase(t) + + initial := createEvent(t, gormdb, 40*day) + stop := StartEventPurge(gormdb, 30*day, 100*time.Millisecond) + t.Cleanup(stop) + + require.Eventually(t, func() bool { + return !eventExists(t, gormdb, initial) + }, time.Second, 10*time.Millisecond) + + afterStop := createEvent(t, gormdb, 40*day) + stop() + + assert.Never(t, func() bool { + return !eventExists(t, gormdb, afterStop) + }, 300*time.Millisecond, 10*time.Millisecond) +} + func TestStartEventPurgeKeepsEveryEventWithoutRetention(t *testing.T) { gormdb := newEventDatabase(t) From fa64545548f70e4e2f4669bd276d62c500ac282a Mon Sep 17 00:00:00 2001 From: Fabio Bonelli Date: Mon, 9 Nov 2026 22:08:44 +0000 Subject: [PATCH 2/2] test: stabilize event purge shutdown coverage --- internal/database/events_test.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/internal/database/events_test.go b/internal/database/events_test.go index d133c3a..0b64f26 100644 --- a/internal/database/events_test.go +++ b/internal/database/events_test.go @@ -1,6 +1,7 @@ package database import ( + "path/filepath" "testing" "time" @@ -17,7 +18,7 @@ const day = 24 * time.Hour func newEventDatabase(t *testing.T) *gorm.DB { t.Helper() - gormdb, err := NewDatabase("file:" + t.Name() + "?mode=memory&cache=shared") + gormdb, err := NewDatabase("file:" + filepath.Join(t.TempDir(), "events.db") + "?_busy_timeout=5000") require.NoError(t, err) return gormdb @@ -104,8 +105,8 @@ func TestStartEventPurgeStopsAfterShutdown(t *testing.T) { return !eventExists(t, gormdb, initial) }, time.Second, 10*time.Millisecond) - afterStop := createEvent(t, gormdb, 40*day) stop() + afterStop := createEvent(t, gormdb, 40*day) assert.Never(t, func() bool { return !eventExists(t, gormdb, afterStop)