Using func InitNotifier for verifying notification settings

This commit is contained in:
Pavel Bakulev 2018-12-20 12:23:44 +02:00
parent f132e929ce
commit d0370ea7ad
3 changed files with 9 additions and 21 deletions

View File

@ -10,7 +10,6 @@ import (
var (
ErrInvalidConfigTooManyDefault = errors.New("Alert notification provisioning config is invalid. Only one alert notification can be marked as default")
ErrInvalidNotifierType = errors.New("Unknown notifier type")
)
func Provision(configDirectory string) error {

View File

@ -136,7 +136,6 @@ func validateRequiredField(notifications []*notificationsAsConfig) error {
}
func validateNotifications(notifications []*notificationsAsConfig) error {
notifierTypes := alerting.GetNotifiers()
for i := range notifications {
if notifications[i].Notifications == nil {
@ -144,24 +143,13 @@ func validateNotifications(notifications []*notificationsAsConfig) error {
}
for _, notification := range notifications[i].Notifications {
foundNotifier := false
for _, notifier := range notifierTypes {
if notifier.Type == notification.Type {
foundNotifier = true
_, notifierError := notifier.Factory(&m.AlertNotification{
Name: notification.Name,
Settings: notification.SettingsToJson(),
Type: notification.Type,
})
if notifierError != nil {
return notifierError
}
break
}
}
if !foundNotifier {
return ErrInvalidNotifierType
_, err := alerting.InitNotifier(&m.AlertNotification{
Name: notification.Name,
Settings: notification.SettingsToJson(),
Type: notification.Type,
})
if err != nil {
return err
}
}
}

View File

@ -293,7 +293,8 @@ func TestNotificationAsConfig(t *testing.T) {
Convey("Unknown notifier should return error", func() {
cfgProvifer := &configReader{log: log.New("test logger")}
_, err := cfgProvifer.readConfig(unknownNotifier)
So(err, ShouldEqual, ErrInvalidNotifierType)
So(err, ShouldNotBeNil)
So(err.Error(), ShouldEqual, "Unsupported notification type")
})
Convey("Read incorrect properties", func() {