From 30b4fbd95e7c9f69ea6901745b80b0615f600031 Mon Sep 17 00:00:00 2001 From: "pulse-triage[bot]" <249995291+pulse-triage[bot]@users.noreply.github.com> Date: Thu, 27 Aug 2026 16:08:53 +0100 Subject: [PATCH] test(notifications): isolate terminal recovery paths --- .../api/alerting/notification_queue_additional_test.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/internal/api/alerting/notification_queue_additional_test.go b/internal/api/alerting/notification_queue_additional_test.go index 367c3a7af..4971e4201 100644 --- a/internal/api/alerting/notification_queue_additional_test.go +++ b/internal/api/alerting/notification_queue_additional_test.go @@ -145,8 +145,13 @@ func TestNotificationQueueHandlers_BulkTerminalFailureRecovery(t *testing.T) { } } - if err := queue.UpdateStatus("notif-bulk", notifications.QueueStatusDLQ, "still unavailable"); err != nil { - t.Fatalf("mark retried notification DLQ: %v", err) + // Use a distinct terminal delivery for dismissal. The retry above is now + // pending and the real background worker is entitled to deliver it at any + // time; forcing that in-flight row back to DLQ makes this handler test race + // the queue processor instead of testing the dismissal contract. + enqueueDLQNotification(t, queue, "notif-dismiss") + if err := queue.UpdateStatus("notif-dismiss", notifications.QueueStatusDLQ, "still unavailable"); err != nil { + t.Fatalf("mark dismiss notification DLQ: %v", err) } assertNotificationDeliveryAlertActive(t, handler.monitor) req = httptest.NewRequest(http.MethodPost, "/api/notifications/terminal-failures/dismiss", nil)