From 876d81ea121bd01c58855dc576d6f0a74dcfc266 Mon Sep 17 00:00:00 2001 From: rcourtman Date: Mon, 1 Dec 2025 16:15:50 +0000 Subject: [PATCH] test: Add edge case tests for ClearActiveAlerts and sanitizeAlertKey MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - TestClearActiveAlertsEmptyMaps: tests early return when both maps empty - sanitizeAlertKey: test for input with only slashes/backslashes -> root Coverage improvement: - sanitizeAlertKey: 96.4% → 100% - alerts package: 52.8% --- internal/alerts/alerts_test.go | 21 +++++++++++++++++++++ internal/alerts/utility_test.go | 5 +++++ 2 files changed, 26 insertions(+) diff --git a/internal/alerts/alerts_test.go b/internal/alerts/alerts_test.go index 7090ece..7756cde 100644 --- a/internal/alerts/alerts_test.go +++ b/internal/alerts/alerts_test.go @@ -4121,3 +4121,24 @@ func TestUnacknowledgeAlertSuccess(t *testing.T) { t.Error("expected ackState entry to be deleted") } } + +func TestClearActiveAlertsEmptyMaps(t *testing.T) { + t.Parallel() + m := NewManager() + + // Ensure maps are empty initially + if len(m.activeAlerts) != 0 { + t.Fatalf("expected activeAlerts to be empty, got %d", len(m.activeAlerts)) + } + if len(m.pendingAlerts) != 0 { + t.Fatalf("expected pendingAlerts to be empty, got %d", len(m.pendingAlerts)) + } + + // Call ClearActiveAlerts on empty manager - should return early without panic + m.ClearActiveAlerts() + + // Verify maps are still empty (function returned early) + if len(m.activeAlerts) != 0 { + t.Errorf("expected activeAlerts to remain empty, got %d", len(m.activeAlerts)) + } +} diff --git a/internal/alerts/utility_test.go b/internal/alerts/utility_test.go index 4c554d2..1895ee8 100644 --- a/internal/alerts/utility_test.go +++ b/internal/alerts/utility_test.go @@ -96,6 +96,11 @@ func TestSanitizeAlertKey(t *testing.T) { }, // Edge cases + { + name: "only slashes and backslashes becomes root", + input: "//\\\\", + want: "root", + }, { name: "only special chars becomes disk", input: "@#$%",