Check for nil value on AvailableWebhooks.
This commit is contained in:
parent
88274bdd05
commit
c6b14833df
|
@ -75,9 +75,11 @@ func (wb *Webhooks) AvailableWebhooks() []Webhook {
|
||||||
f := s.Field(i)
|
f := s.Field(i)
|
||||||
|
|
||||||
if wbPlugin, ok := f.Interface().(Webhook); ok {
|
if wbPlugin, ok := f.Interface().(Webhook); ok {
|
||||||
|
if !reflect.ValueOf(wbPlugin).IsNil() {
|
||||||
webhooks = append(webhooks, wbPlugin)
|
webhooks = append(webhooks, wbPlugin)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return webhooks
|
return webhooks
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
package webhooks
|
||||||
|
|
||||||
|
import (
|
||||||
|
"reflect"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/influxdata/telegraf/plugins/inputs/webhooks/github"
|
||||||
|
"github.com/influxdata/telegraf/plugins/inputs/webhooks/rollbar"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestAvailableWebhooks(t *testing.T) {
|
||||||
|
wb := NewWebhooks()
|
||||||
|
expected := make([]Webhook, 0)
|
||||||
|
if !reflect.DeepEqual(wb.AvailableWebhooks(), expected) {
|
||||||
|
t.Errorf("expected to %v.\nGot %v", expected, wb.AvailableWebhooks())
|
||||||
|
}
|
||||||
|
|
||||||
|
wb.Github = &github.GithubWebhook{Path: "/github"}
|
||||||
|
expected = append(expected, wb.Github)
|
||||||
|
if !reflect.DeepEqual(wb.AvailableWebhooks(), expected) {
|
||||||
|
t.Errorf("expected to be %v.\nGot %v", expected, wb.AvailableWebhooks())
|
||||||
|
}
|
||||||
|
|
||||||
|
wb.Rollbar = &rollbar.RollbarWebhook{Path: "/rollbar"}
|
||||||
|
expected = append(expected, wb.Rollbar)
|
||||||
|
if !reflect.DeepEqual(wb.AvailableWebhooks(), expected) {
|
||||||
|
t.Errorf("expected to be %v.\nGot %v", expected, wb.AvailableWebhooks())
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue