From d41cfc0d16e1b5c86731ac4bdd0c491c0cf1c991 Mon Sep 17 00:00:00 2001 From: Sean Kelly Date: Mon, 25 Aug 2025 20:31:23 -0700 Subject: [PATCH] fix(alerting): Adjust minimum reminder config parsing (#1226) * Update minimum repeat interval parsing * Update minimum repeat interval parsing --- alerting/provider/provider.go | 3 +++ alerting/provider/provider_test.go | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/alerting/provider/provider.go b/alerting/provider/provider.go index 5ab9dc4a..066385f5 100644 --- a/alerting/provider/provider.go +++ b/alerting/provider/provider.go @@ -84,6 +84,9 @@ func MergeProviderDefaultAlertIntoEndpointAlert(providerDefaultAlert, endpointAl if endpointAlert.SuccessThreshold == 0 { endpointAlert.SuccessThreshold = providerDefaultAlert.SuccessThreshold } + if endpointAlert.MinimumReminderInterval == 0 { + endpointAlert.MinimumReminderInterval = providerDefaultAlert.MinimumReminderInterval + } } var ( diff --git a/alerting/provider/provider_test.go b/alerting/provider/provider_test.go index fa1de566..d582c9df 100644 --- a/alerting/provider/provider_test.go +++ b/alerting/provider/provider_test.go @@ -2,6 +2,7 @@ package provider import ( "testing" + "time" "github.com/TwiN/gatus/v5/alerting/alert" ) @@ -24,6 +25,7 @@ func TestParseWithDefaultAlert(t *testing.T) { Description: &firstDescription, FailureThreshold: 5, SuccessThreshold: 10, + MinimumReminderInterval: 30 * time.Second, }, EndpointAlert: &alert.Alert{ Type: alert.TypeDiscord, @@ -35,6 +37,7 @@ func TestParseWithDefaultAlert(t *testing.T) { Description: &firstDescription, FailureThreshold: 5, SuccessThreshold: 10, + MinimumReminderInterval: 30 * time.Second, }, }, { @@ -148,6 +151,9 @@ func TestParseWithDefaultAlert(t *testing.T) { if scenario.EndpointAlert.SuccessThreshold != scenario.ExpectedOutputAlert.SuccessThreshold { t.Errorf("expected EndpointAlert.SuccessThreshold to be %v, got %v", scenario.ExpectedOutputAlert.SuccessThreshold, scenario.EndpointAlert.SuccessThreshold) } + if int(scenario.EndpointAlert.MinimumReminderInterval) != int(scenario.ExpectedOutputAlert.MinimumReminderInterval) { + t.Errorf("expected EndpointAlert.MinimumReminderInterval to be %v, got %v", scenario.ExpectedOutputAlert.MinimumReminderInterval, scenario.EndpointAlert.MinimumReminderInterval) + } }) } }