mirror of
https://github.com/prometheus/alertmanager
synced 2025-02-17 19:17:07 +00:00
Add tests to notifiers config (#1050)
This commit is contained in:
parent
5d1dec2790
commit
ae73a3103a
163
config/notifiers_test.go
Normal file
163
config/notifiers_test.go
Normal file
@ -0,0 +1,163 @@
|
|||||||
|
package config
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
"gopkg.in/yaml.v2"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestEmailToIsPresent(t *testing.T) {
|
||||||
|
in := `
|
||||||
|
to: ''
|
||||||
|
`
|
||||||
|
var cfg EmailConfig
|
||||||
|
err := yaml.Unmarshal([]byte(in), &cfg)
|
||||||
|
|
||||||
|
expected := "missing to address in email config"
|
||||||
|
|
||||||
|
if err == nil {
|
||||||
|
t.Fatalf("no error returned, expected:\n%v", expected)
|
||||||
|
}
|
||||||
|
if err.Error() != expected {
|
||||||
|
t.Errorf("\nexpected:\n%v\ngot:\n%v", expected, err.Error())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestEmailHeadersCollision(t *testing.T) {
|
||||||
|
in := `
|
||||||
|
to: 'to@email.com'
|
||||||
|
headers:
|
||||||
|
Subject: 'Alert'
|
||||||
|
subject: 'New Alert'
|
||||||
|
`
|
||||||
|
var cfg EmailConfig
|
||||||
|
err := yaml.Unmarshal([]byte(in), &cfg)
|
||||||
|
|
||||||
|
expected := "duplicate header \"Subject\" in email config"
|
||||||
|
|
||||||
|
if err == nil {
|
||||||
|
t.Fatalf("no error returned, expected:\n%v", expected)
|
||||||
|
}
|
||||||
|
if err.Error() != expected {
|
||||||
|
t.Errorf("\nexpected:\n%v\ngot:\n%v", expected, err.Error())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestPagerdutyServiceKeyIsPresent(t *testing.T) {
|
||||||
|
in := `
|
||||||
|
service_key: ''
|
||||||
|
`
|
||||||
|
var cfg PagerdutyConfig
|
||||||
|
err := yaml.Unmarshal([]byte(in), &cfg)
|
||||||
|
|
||||||
|
expected := "missing service key in PagerDuty config"
|
||||||
|
|
||||||
|
if err == nil {
|
||||||
|
t.Fatalf("no error returned, expected:\n%v", expected)
|
||||||
|
}
|
||||||
|
if err.Error() != expected {
|
||||||
|
t.Errorf("\nexpected:\n%v\ngot:\n%v", expected, err.Error())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestHipchatRoomIDIsPresent(t *testing.T) {
|
||||||
|
in := `
|
||||||
|
room_id: ''
|
||||||
|
`
|
||||||
|
var cfg HipchatConfig
|
||||||
|
err := yaml.Unmarshal([]byte(in), &cfg)
|
||||||
|
|
||||||
|
expected := "missing room id in Hipchat config"
|
||||||
|
|
||||||
|
if err == nil {
|
||||||
|
t.Fatalf("no error returned, expected:\n%v", expected)
|
||||||
|
}
|
||||||
|
if err.Error() != expected {
|
||||||
|
t.Errorf("\nexpected:\n%v\ngot:\n%v", expected, err.Error())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestWebhookURLIsPresent(t *testing.T) {
|
||||||
|
in := `
|
||||||
|
url: ''
|
||||||
|
`
|
||||||
|
var cfg WebhookConfig
|
||||||
|
err := yaml.Unmarshal([]byte(in), &cfg)
|
||||||
|
|
||||||
|
expected := "missing URL in webhook config"
|
||||||
|
|
||||||
|
if err == nil {
|
||||||
|
t.Fatalf("no error returned, expected:\n%v", expected)
|
||||||
|
}
|
||||||
|
if err.Error() != expected {
|
||||||
|
t.Errorf("\nexpected:\n%v\ngot:\n%v", expected, err.Error())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestOpsGenieAPIKeyIsPresent(t *testing.T) {
|
||||||
|
in := `
|
||||||
|
api_key: ''
|
||||||
|
`
|
||||||
|
var cfg OpsGenieConfig
|
||||||
|
err := yaml.Unmarshal([]byte(in), &cfg)
|
||||||
|
|
||||||
|
expected := "missing API key in OpsGenie config"
|
||||||
|
|
||||||
|
if err == nil {
|
||||||
|
t.Fatalf("no error returned, expected:\n%v", expected)
|
||||||
|
}
|
||||||
|
if err.Error() != expected {
|
||||||
|
t.Errorf("\nexpected:\n%v\ngot:\n%v", expected, err.Error())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestVictorOpsRoutingKeyIsPresent(t *testing.T) {
|
||||||
|
in := `
|
||||||
|
routing_key: ''
|
||||||
|
`
|
||||||
|
var cfg VictorOpsConfig
|
||||||
|
err := yaml.Unmarshal([]byte(in), &cfg)
|
||||||
|
|
||||||
|
expected := "missing Routing key in VictorOps config"
|
||||||
|
|
||||||
|
if err == nil {
|
||||||
|
t.Fatalf("no error returned, expected:\n%v", expected)
|
||||||
|
}
|
||||||
|
if err.Error() != expected {
|
||||||
|
t.Errorf("\nexpected:\n%v\ngot:\n%v", expected, err.Error())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestPushoverUserKeyIsPresent(t *testing.T) {
|
||||||
|
in := `
|
||||||
|
user_key: ''
|
||||||
|
`
|
||||||
|
var cfg PushoverConfig
|
||||||
|
err := yaml.Unmarshal([]byte(in), &cfg)
|
||||||
|
|
||||||
|
expected := "missing user key in Pushover config"
|
||||||
|
|
||||||
|
if err == nil {
|
||||||
|
t.Fatalf("no error returned, expected:\n%v", expected)
|
||||||
|
}
|
||||||
|
if err.Error() != expected {
|
||||||
|
t.Errorf("\nexpected:\n%v\ngot:\n%v", expected, err.Error())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestPushoverTokenIsPresent(t *testing.T) {
|
||||||
|
in := `
|
||||||
|
user_key: '<user_key>'
|
||||||
|
token: ''
|
||||||
|
`
|
||||||
|
var cfg PushoverConfig
|
||||||
|
err := yaml.Unmarshal([]byte(in), &cfg)
|
||||||
|
|
||||||
|
expected := "missing token in Pushover config"
|
||||||
|
|
||||||
|
if err == nil {
|
||||||
|
t.Fatalf("no error returned, expected:\n%v", expected)
|
||||||
|
}
|
||||||
|
if err.Error() != expected {
|
||||||
|
t.Errorf("\nexpected:\n%v\ngot:\n%v", expected, err.Error())
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user