mirror of
https://github.com/grafana/grafana.git
synced 2025-02-16 02:23:31 -06:00
76 lines
1.6 KiB
Go
76 lines
1.6 KiB
Go
package sqlstore
|
|
|
|
import (
|
|
"testing"
|
|
|
|
m "github.com/grafana/grafana/pkg/models"
|
|
. "github.com/smartystreets/goconvey/convey"
|
|
)
|
|
|
|
var (
|
|
FakeOrgId int64 = 2
|
|
)
|
|
|
|
func TestAlertRuleChangesDataAccess(t *testing.T) {
|
|
|
|
Convey("Testing Alert rule changes data access", t, func() {
|
|
InitTestDB(t)
|
|
|
|
testDash := insertTestDashboard("dashboard with alerts", 2, "alert")
|
|
var err error
|
|
|
|
Convey("When dashboard is removed", func() {
|
|
items := []m.AlertRule{
|
|
{
|
|
PanelId: 1,
|
|
DashboardId: testDash.Id,
|
|
Query: "Query",
|
|
QueryRefId: "A",
|
|
WarnLevel: "> 30",
|
|
CritLevel: "> 50",
|
|
Interval: "10",
|
|
Title: "Alerting title",
|
|
Description: "Alerting description",
|
|
QueryRange: "5m",
|
|
Aggregator: "avg",
|
|
OrgId: FakeOrgId,
|
|
},
|
|
}
|
|
|
|
cmd := m.SaveAlertsCommand{
|
|
Alerts: &items,
|
|
DashboardId: testDash.Id,
|
|
OrgId: FakeOrgId,
|
|
UserId: 2,
|
|
}
|
|
|
|
SaveAlerts(&cmd)
|
|
|
|
alertChanges, er := GetAlertRuleChanges(FakeOrgId)
|
|
So(er, ShouldBeNil)
|
|
So(len(alertChanges), ShouldEqual, 1)
|
|
|
|
err = DeleteDashboard(&m.DeleteDashboardCommand{
|
|
OrgId: FakeOrgId,
|
|
Slug: testDash.Slug,
|
|
})
|
|
|
|
So(err, ShouldBeNil)
|
|
|
|
Convey("Alerts should be removed", func() {
|
|
alerts, err2 := GetAlertsByDashboardId(testDash.Id)
|
|
|
|
So(testDash.Id, ShouldEqual, 1)
|
|
So(err2, ShouldBeNil)
|
|
So(len(alerts), ShouldEqual, 0)
|
|
})
|
|
|
|
Convey("should add one more alert_rule_change", func() {
|
|
alertChanges, er := GetAlertRuleChanges(FakeOrgId)
|
|
So(er, ShouldBeNil)
|
|
So(len(alertChanges), ShouldEqual, 2)
|
|
})
|
|
})
|
|
})
|
|
}
|