result_handler_test.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package alerting
  2. // import (
  3. // "testing"
  4. // "time"
  5. //
  6. // "github.com/grafana/grafana/pkg/bus"
  7. // m "github.com/grafana/grafana/pkg/models"
  8. // "github.com/grafana/grafana/pkg/services/alerting/alertstates"
  9. //
  10. // . "github.com/smartystreets/goconvey/convey"
  11. // )
  12. //
  13. // func TestAlertResultHandler(t *testing.T) {
  14. // Convey("Test result Handler", t, func() {
  15. // resultHandler := ResultHandlerImpl{}
  16. // mockResult := &AlertResultContext{
  17. // Triggered: false,
  18. // Rule: &AlertRule{
  19. // Id: 1,
  20. // OrgId 1,
  21. // },
  22. // }
  23. // mockAlertState := &m.AlertState{}
  24. // bus.ClearBusHandlers()
  25. // bus.AddHandler("test", func(query *m.GetLastAlertStateQuery) error {
  26. // query.Result = mockAlertState
  27. // return nil
  28. // })
  29. //
  30. // Convey("Should update", func() {
  31. //
  32. // Convey("when no earlier alert state", func() {
  33. // mockAlertState = nil
  34. // So(resultHandler.shouldUpdateState(mockResult), ShouldBeTrue)
  35. // })
  36. //
  37. // Convey("alert state have changed", func() {
  38. // mockAlertState = &m.AlertState{
  39. // State: alertstates.Critical,
  40. // }
  41. // mockResult.Triggered = false
  42. // So(resultHandler.shouldUpdateState(mockResult), ShouldBeTrue)
  43. // })
  44. //
  45. // Convey("last alert state was 15min ago", func() {
  46. // now := time.Now()
  47. // mockAlertState = &m.AlertState{
  48. // State: alertstates.Critical,
  49. // Created: now.Add(time.Minute * -30),
  50. // }
  51. // mockResult.Triggered = true
  52. // mockResult.StartTime = time.Now()
  53. // So(resultHandler.shouldUpdateState(mockResult), ShouldBeTrue)
  54. // })
  55. // })
  56. // })
  57. // }