2022-02-02 12:11:41 +00:00
|
|
|
package notifier
|
|
|
|
|
|
|
|
import (
|
|
|
|
"strings"
|
|
|
|
"testing"
|
|
|
|
)
|
|
|
|
|
2024-07-12 19:57:56 +00:00
|
|
|
func TestParseConfig_Success(t *testing.T) {
|
2022-02-02 12:11:41 +00:00
|
|
|
f := func(path string) {
|
2024-07-12 19:57:56 +00:00
|
|
|
t.Helper()
|
|
|
|
|
2022-02-02 12:11:41 +00:00
|
|
|
_, err := parseConfig(path)
|
2024-07-12 19:57:56 +00:00
|
|
|
if err != nil {
|
|
|
|
t.Fatalf("unexpected error: %s", err)
|
|
|
|
}
|
2022-02-02 12:11:41 +00:00
|
|
|
}
|
|
|
|
f("testdata/mixed.good.yaml")
|
|
|
|
f("testdata/consul.good.yaml")
|
2022-04-13 08:50:26 +00:00
|
|
|
f("testdata/dns.good.yaml")
|
2022-02-02 12:11:41 +00:00
|
|
|
f("testdata/static.good.yaml")
|
|
|
|
}
|
|
|
|
|
2024-07-12 19:57:56 +00:00
|
|
|
func TestParseConfig_Failure(t *testing.T) {
|
2022-02-02 12:11:41 +00:00
|
|
|
f := func(path, expErr string) {
|
2024-07-12 19:57:56 +00:00
|
|
|
t.Helper()
|
|
|
|
|
2022-02-02 12:11:41 +00:00
|
|
|
_, err := parseConfig(path)
|
|
|
|
if err == nil {
|
|
|
|
t.Fatalf("expected to get non-nil err for config %q", path)
|
|
|
|
}
|
|
|
|
if !strings.Contains(err.Error(), expErr) {
|
2024-07-12 19:57:56 +00:00
|
|
|
t.Fatalf("expected err to contain %q; got %q instead", expErr, err)
|
2022-02-02 12:11:41 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
f("testdata/unknownFields.bad.yaml", "unknown field")
|
|
|
|
f("non-existing-file", "error reading")
|
|
|
|
}
|