| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- package models
- import (
- "testing"
- "github.com/grafana/grafana/pkg/components/simplejson"
- . "github.com/smartystreets/goconvey/convey"
- )
- func TestAlertingModelTest(t *testing.T) {
- Convey("Testing Alerting model", t, func() {
- json1, _ := simplejson.NewJson([]byte(`{ "field": "value" }`))
- json2, _ := simplejson.NewJson([]byte(`{ "field": "value" }`))
- rule1 := &Alert{
- Settings: json1,
- Name: "Namn",
- Message: "Message",
- }
- rule2 := &Alert{
- Settings: json2,
- Name: "Namn",
- Message: "Message",
- }
- Convey("Testing AlertRule equals", func() {
- So(rule1.ContainsUpdates(rule2), ShouldBeFalse)
- })
- Convey("Changing the expression should contain update", func() {
- json2, _ := simplejson.NewJson([]byte(`{ "field": "newValue" }`))
- rule1.Settings = json2
- So(rule1.ContainsUpdates(rule2), ShouldBeTrue)
- })
- Convey("Should parse alertRule tags correctly", func() {
- json2, _ := simplejson.NewJson([]byte(`{
- "field": "value",
- "alertRuleTags": {
- "foo": "bar",
- "waldo": "fred",
- "tagMap": { "mapValue": "value" }
- }
- }`))
- rule1.Settings = json2
- expectedTags := []*Tag{
- {Id: 0, Key: "foo", Value: "bar"},
- {Id: 0, Key: "waldo", Value: "fred"},
- {Id: 0, Key: "tagMap", Value: ""},
- }
- actualTags := rule1.GetTagsFromSettings()
- So(len(actualTags), ShouldEqual, len(expectedTags))
- for _, tag := range expectedTags {
- So(ContainsTag(actualTags, tag), ShouldBeTrue)
- }
- })
- })
- }
|