|
@@ -1,100 +1,100 @@
|
|
|
package sqlstore
|
|
package sqlstore
|
|
|
|
|
|
|
|
-import (
|
|
|
|
|
- "testing"
|
|
|
|
|
-
|
|
|
|
|
- m "github.com/grafana/grafana/pkg/models"
|
|
|
|
|
- . "github.com/smartystreets/goconvey/convey"
|
|
|
|
|
-)
|
|
|
|
|
-
|
|
|
|
|
-func TestAlertingStateAccess(t *testing.T) {
|
|
|
|
|
- Convey("Test alerting state changes", t, func() {
|
|
|
|
|
- InitTestDB(t)
|
|
|
|
|
-
|
|
|
|
|
- testDash := insertTestDashboard("dashboard with alerts", 1, "alert")
|
|
|
|
|
-
|
|
|
|
|
- items := []*m.Alert{
|
|
|
|
|
- {
|
|
|
|
|
- PanelId: 1,
|
|
|
|
|
- DashboardId: testDash.Id,
|
|
|
|
|
- OrgId: testDash.OrgId,
|
|
|
|
|
- Name: "Alerting title",
|
|
|
|
|
- Description: "Alerting description",
|
|
|
|
|
- },
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- cmd := m.SaveAlertsCommand{
|
|
|
|
|
- Alerts: items,
|
|
|
|
|
- DashboardId: testDash.Id,
|
|
|
|
|
- OrgId: 1,
|
|
|
|
|
- UserId: 1,
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- err := SaveAlerts(&cmd)
|
|
|
|
|
- So(err, ShouldBeNil)
|
|
|
|
|
-
|
|
|
|
|
- Convey("Cannot insert invalid states", func() {
|
|
|
|
|
- err = SetNewAlertState(&m.UpdateAlertStateCommand{
|
|
|
|
|
- AlertId: 1,
|
|
|
|
|
- NewState: "maybe ok",
|
|
|
|
|
- Info: "Shit just hit the fan",
|
|
|
|
|
- })
|
|
|
|
|
-
|
|
|
|
|
- So(err, ShouldNotBeNil)
|
|
|
|
|
- })
|
|
|
|
|
-
|
|
|
|
|
- Convey("Changes state to alert", func() {
|
|
|
|
|
-
|
|
|
|
|
- err = SetNewAlertState(&m.UpdateAlertStateCommand{
|
|
|
|
|
- AlertId: 1,
|
|
|
|
|
- NewState: "CRITICAL",
|
|
|
|
|
- Info: "Shit just hit the fan",
|
|
|
|
|
- })
|
|
|
|
|
-
|
|
|
|
|
- Convey("can get new state for alert", func() {
|
|
|
|
|
- query := &m.GetAlertByIdQuery{Id: 1}
|
|
|
|
|
- err := GetAlertById(query)
|
|
|
|
|
- So(err, ShouldBeNil)
|
|
|
|
|
- So(query.Result.State, ShouldEqual, "CRITICAL")
|
|
|
|
|
- })
|
|
|
|
|
-
|
|
|
|
|
- Convey("Changes state to ok", func() {
|
|
|
|
|
- err = SetNewAlertState(&m.UpdateAlertStateCommand{
|
|
|
|
|
- AlertId: 1,
|
|
|
|
|
- NewState: "OK",
|
|
|
|
|
- Info: "Shit just hit the fan",
|
|
|
|
|
- })
|
|
|
|
|
-
|
|
|
|
|
- Convey("get ok state for alert", func() {
|
|
|
|
|
- query := &m.GetAlertByIdQuery{Id: 1}
|
|
|
|
|
- err := GetAlertById(query)
|
|
|
|
|
- So(err, ShouldBeNil)
|
|
|
|
|
- So(query.Result.State, ShouldEqual, "OK")
|
|
|
|
|
- })
|
|
|
|
|
-
|
|
|
|
|
- Convey("should have two event state logs", func() {
|
|
|
|
|
- query := &m.GetAlertsStateQuery{
|
|
|
|
|
- AlertId: 1,
|
|
|
|
|
- OrgId: 1,
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- err := GetAlertStateLogByAlertId(query)
|
|
|
|
|
- So(err, ShouldBeNil)
|
|
|
|
|
-
|
|
|
|
|
- So(len(*query.Result), ShouldEqual, 2)
|
|
|
|
|
- })
|
|
|
|
|
-
|
|
|
|
|
- Convey("should not get any alerts with critical state", func() {
|
|
|
|
|
- query := &m.GetAlertsQuery{
|
|
|
|
|
- OrgId: 1,
|
|
|
|
|
- State: []string{"Critical", "Warn"},
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- err := HandleAlertsQuery(query)
|
|
|
|
|
- So(err, ShouldBeNil)
|
|
|
|
|
- So(len(query.Result), ShouldEqual, 0)
|
|
|
|
|
- })
|
|
|
|
|
- })
|
|
|
|
|
- })
|
|
|
|
|
- })
|
|
|
|
|
-}
|
|
|
|
|
|
|
+// import (
|
|
|
|
|
+// "testing"
|
|
|
|
|
+//
|
|
|
|
|
+// m "github.com/grafana/grafana/pkg/models"
|
|
|
|
|
+// . "github.com/smartystreets/goconvey/convey"
|
|
|
|
|
+// )
|
|
|
|
|
+//
|
|
|
|
|
+// func TestAlertingStateAccess(t *testing.T) {
|
|
|
|
|
+// Convey("Test alerting state changes", t, func() {
|
|
|
|
|
+// InitTestDB(t)
|
|
|
|
|
+//
|
|
|
|
|
+// testDash := insertTestDashboard("dashboard with alerts", 1, "alert")
|
|
|
|
|
+//
|
|
|
|
|
+// items := []*m.Alert{
|
|
|
|
|
+// {
|
|
|
|
|
+// PanelId: 1,
|
|
|
|
|
+// DashboardId: testDash.Id,
|
|
|
|
|
+// OrgId: testDash.OrgId,
|
|
|
|
|
+// Name: "Alerting title",
|
|
|
|
|
+// Description: "Alerting description",
|
|
|
|
|
+// },
|
|
|
|
|
+// }
|
|
|
|
|
+//
|
|
|
|
|
+// cmd := m.SaveAlertsCommand{
|
|
|
|
|
+// Alerts: items,
|
|
|
|
|
+// DashboardId: testDash.Id,
|
|
|
|
|
+// OrgId: 1,
|
|
|
|
|
+// UserId: 1,
|
|
|
|
|
+// }
|
|
|
|
|
+//
|
|
|
|
|
+// err := SaveAlerts(&cmd)
|
|
|
|
|
+// So(err, ShouldBeNil)
|
|
|
|
|
+//
|
|
|
|
|
+// Convey("Cannot insert invalid states", func() {
|
|
|
|
|
+// err = SetNewAlertState(&m.UpdateAlertStateCommand{
|
|
|
|
|
+// AlertId: 1,
|
|
|
|
|
+// NewState: "maybe ok",
|
|
|
|
|
+// Info: "Shit just hit the fan",
|
|
|
|
|
+// })
|
|
|
|
|
+//
|
|
|
|
|
+// So(err, ShouldNotBeNil)
|
|
|
|
|
+// })
|
|
|
|
|
+//
|
|
|
|
|
+// Convey("Changes state to alert", func() {
|
|
|
|
|
+//
|
|
|
|
|
+// err = SetNewAlertState(&m.UpdateAlertStateCommand{
|
|
|
|
|
+// AlertId: 1,
|
|
|
|
|
+// NewState: "CRITICAL",
|
|
|
|
|
+// Info: "Shit just hit the fan",
|
|
|
|
|
+// })
|
|
|
|
|
+//
|
|
|
|
|
+// Convey("can get new state for alert", func() {
|
|
|
|
|
+// query := &m.GetAlertByIdQuery{Id: 1}
|
|
|
|
|
+// err := GetAlertById(query)
|
|
|
|
|
+// So(err, ShouldBeNil)
|
|
|
|
|
+// So(query.Result.State, ShouldEqual, "CRITICAL")
|
|
|
|
|
+// })
|
|
|
|
|
+//
|
|
|
|
|
+// Convey("Changes state to ok", func() {
|
|
|
|
|
+// err = SetNewAlertState(&m.UpdateAlertStateCommand{
|
|
|
|
|
+// AlertId: 1,
|
|
|
|
|
+// NewState: "OK",
|
|
|
|
|
+// Info: "Shit just hit the fan",
|
|
|
|
|
+// })
|
|
|
|
|
+//
|
|
|
|
|
+// Convey("get ok state for alert", func() {
|
|
|
|
|
+// query := &m.GetAlertByIdQuery{Id: 1}
|
|
|
|
|
+// err := GetAlertById(query)
|
|
|
|
|
+// So(err, ShouldBeNil)
|
|
|
|
|
+// So(query.Result.State, ShouldEqual, "OK")
|
|
|
|
|
+// })
|
|
|
|
|
+//
|
|
|
|
|
+// Convey("should have two event state logs", func() {
|
|
|
|
|
+// query := &m.GetAlertsStateQuery{
|
|
|
|
|
+// AlertId: 1,
|
|
|
|
|
+// OrgId: 1,
|
|
|
|
|
+// }
|
|
|
|
|
+//
|
|
|
|
|
+// err := GetAlertStateLogByAlertId(query)
|
|
|
|
|
+// So(err, ShouldBeNil)
|
|
|
|
|
+//
|
|
|
|
|
+// So(len(*query.Result), ShouldEqual, 2)
|
|
|
|
|
+// })
|
|
|
|
|
+//
|
|
|
|
|
+// Convey("should not get any alerts with critical state", func() {
|
|
|
|
|
+// query := &m.GetAlertsQuery{
|
|
|
|
|
+// OrgId: 1,
|
|
|
|
|
+// State: []string{"Critical", "Warn"},
|
|
|
|
|
+// }
|
|
|
|
|
+//
|
|
|
|
|
+// err := HandleAlertsQuery(query)
|
|
|
|
|
+// So(err, ShouldBeNil)
|
|
|
|
|
+// So(len(query.Result), ShouldEqual, 0)
|
|
|
|
|
+// })
|
|
|
|
|
+// })
|
|
|
|
|
+// })
|
|
|
|
|
+// })
|
|
|
|
|
+// }
|