diff --git a/alerting/provider/discord/discord.go b/alerting/provider/discord/discord.go index bdf46baa..348a5299 100644 --- a/alerting/provider/discord/discord.go +++ b/alerting/provider/discord/discord.go @@ -16,27 +16,6 @@ type AlertProvider struct { DefaultAlert *core.Alert `yaml:"default-alert"` } -//func (provider *AlertProvider) ParseWithDefaultAlert(alert *core.Alert) { -// if provider.DefaultAlert == nil { -// return -// } -// if alert.Enabled == nil { -// alert.Enabled = provider.DefaultAlert.Enabled -// } -// if alert.SendOnResolved == nil { -// alert.SendOnResolved = provider.DefaultAlert.SendOnResolved -// } -// if len(alert.Description) == 0 { -// alert.Description = provider.DefaultAlert.Description -// } -// if alert.FailureThreshold == 0 { -// alert.FailureThreshold = provider.DefaultAlert.FailureThreshold -// } -// if alert.SuccessThreshold == 0 { -// alert.SuccessThreshold = provider.DefaultAlert.SuccessThreshold -// } -//} - // IsValid returns whether the provider's configuration is valid func (provider *AlertProvider) IsValid() bool { return len(provider.WebhookURL) > 0 diff --git a/alerting/provider/provider_test.go b/alerting/provider/provider_test.go index 7bda7baf..8b98b1ed 100644 --- a/alerting/provider/provider_test.go +++ b/alerting/provider/provider_test.go @@ -47,7 +47,7 @@ func TestParseWithDefaultAlert(t *testing.T) { SuccessThreshold: 10, }, ServiceAlert: &core.Alert{ - Type: core.DiscordAlert, + Type: core.TelegramAlert, Enabled: &enabled, SendOnResolved: &enabled, Description: &secondDescription, @@ -55,7 +55,7 @@ func TestParseWithDefaultAlert(t *testing.T) { SuccessThreshold: 11, }, ExpectedOutputAlert: &core.Alert{ - Type: core.DiscordAlert, + Type: core.TelegramAlert, Enabled: &enabled, SendOnResolved: &enabled, Description: &secondDescription, diff --git a/config/config_test.go b/config/config_test.go index 279794c8..eb1551a9 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -507,6 +507,8 @@ services: func TestParseAndValidateConfigBytesWithAlertingAndDefaultAlert(t *testing.T) { config, err := parseAndValidateConfigBytes([]byte(` +debug: true + alerting: slack: webhook-url: "http://example.com" @@ -582,19 +584,36 @@ services: if config.Alerting.Slack == nil || !config.Alerting.Slack.IsValid() { t.Fatal("Slack alerting config should've been valid") } + if config.Alerting.Slack.GetDefaultAlert() == nil { + t.Fatal("Slack.GetDefaultAlert() shouldn't have returned nil") + } if config.Alerting.Slack.WebhookURL != "http://example.com" { t.Errorf("Slack webhook should've been %s, but was %s", "http://example.com", config.Alerting.Slack.WebhookURL) } + if config.Alerting.PagerDuty == nil || !config.Alerting.PagerDuty.IsValid() { t.Fatal("PagerDuty alerting config should've been valid") } + if config.Alerting.PagerDuty.GetDefaultAlert() == nil { + t.Fatal("PagerDuty.GetDefaultAlert() shouldn't have returned nil") + } if config.Alerting.PagerDuty.IntegrationKey != "00000000000000000000000000000000" { t.Errorf("PagerDuty integration key should've been %s, but was %s", "00000000000000000000000000000000", config.Alerting.PagerDuty.IntegrationKey) } + if config.Alerting.Mattermost == nil || !config.Alerting.Mattermost.IsValid() { + t.Fatal("Mattermost alerting config should've been valid") + } + if config.Alerting.Mattermost.GetDefaultAlert() == nil { + t.Fatal("Mattermost.GetDefaultAlert() shouldn't have returned nil") + } + if config.Alerting.Messagebird == nil || !config.Alerting.Messagebird.IsValid() { t.Fatal("Messagebird alerting config should've been valid") } + if config.Alerting.Messagebird.GetDefaultAlert() == nil { + t.Fatal("Messagebird.GetDefaultAlert() shouldn't have returned nil") + } if config.Alerting.Messagebird.AccessKey != "1" { t.Errorf("Messagebird access key should've been %s, but was %s", "1", config.Alerting.Messagebird.AccessKey) } @@ -608,18 +627,34 @@ services: if config.Alerting.Discord == nil || !config.Alerting.Discord.IsValid() { t.Fatal("Discord alerting config should've been valid") } + if config.Alerting.Discord.GetDefaultAlert() == nil { + t.Fatal("Discord.GetDefaultAlert() shouldn't have returned nil") + } if config.Alerting.Discord.WebhookURL != "http://example.org" { t.Errorf("Discord webhook should've been %s, but was %s", "http://example.org", config.Alerting.Discord.WebhookURL) } + if GetAlertingProviderByAlertType(config, core.DiscordAlert) != config.Alerting.Discord { + t.Error("expected discord configuration") + } + if config.Alerting.Telegram == nil || !config.Alerting.Telegram.IsValid() { + t.Fatal("Telegram alerting config should've been valid") + } + if config.Alerting.Telegram.GetDefaultAlert() == nil { + t.Fatal("Telegram.GetDefaultAlert() shouldn't have returned nil") + } if config.Alerting.Telegram.Token != "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11" { t.Errorf("Telegram token should've been %s, but was %s", "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11", config.Alerting.Telegram.Token) } if config.Alerting.Telegram.ID != "0123456789" { t.Errorf("Telegram ID should've been %s, but was %s", "012345689", config.Alerting.Telegram.ID) } - if GetAlertingProviderByAlertType(config, core.DiscordAlert) != config.Alerting.Discord { - t.Error("expected discord configuration") + + if config.Alerting.Twilio == nil || !config.Alerting.Twilio.IsValid() { + t.Fatal("Twilio alerting config should've been valid") + } + if config.Alerting.Twilio.GetDefaultAlert() == nil { + t.Fatal("Twilio.GetDefaultAlert() shouldn't have returned nil") } // Services if len(config.Services) != 1 {