| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- package notifiers
- import (
- "context"
- "testing"
- "github.com/grafana/grafana/pkg/components/simplejson"
- m "github.com/grafana/grafana/pkg/models"
- "github.com/grafana/grafana/pkg/services/alerting"
- . "github.com/smartystreets/goconvey/convey"
- )
- func TestBaseNotifier(t *testing.T) {
- Convey("Base notifier tests", t, func() {
- Convey("default constructor for notifiers", func() {
- bJson := simplejson.New()
- Convey("can parse false value", func() {
- bJson.Set("uploadImage", false)
- base := NewNotifierBase(1, false, "name", "email", bJson)
- So(base.UploadImage, ShouldBeFalse)
- })
- Convey("can parse true value", func() {
- bJson.Set("uploadImage", true)
- base := NewNotifierBase(1, false, "name", "email", bJson)
- So(base.UploadImage, ShouldBeTrue)
- })
- Convey("default value should be true for backwards compatibility", func() {
- base := NewNotifierBase(1, false, "name", "email", bJson)
- So(base.UploadImage, ShouldBeTrue)
- })
- })
- Convey("should notify", func() {
- Convey("pending -> ok", func() {
- context := alerting.NewEvalContext(context.TODO(), &alerting.Rule{
- State: m.AlertStatePending,
- })
- context.Rule.State = m.AlertStateOK
- So(defaultShouldNotify(context), ShouldBeFalse)
- })
- Convey("ok -> alerting", func() {
- context := alerting.NewEvalContext(context.TODO(), &alerting.Rule{
- State: m.AlertStateOK,
- })
- context.Rule.State = m.AlertStateAlerting
- So(defaultShouldNotify(context), ShouldBeTrue)
- })
- })
- })
- }
|