reader_test.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package alerting
  2. import (
  3. //m "github.com/grafana/grafana/pkg/models"
  4. . "github.com/smartystreets/goconvey/convey"
  5. "testing"
  6. )
  7. func TestAlertingScheduler(t *testing.T) {
  8. Convey("Testing alert job selection", t, func() {
  9. /*
  10. mockFn := func() []m.AlertRule {
  11. return []m.AlertRule{
  12. {Id: 1, Title: "test 1"},
  13. {Id: 2, Title: "test 2"},
  14. {Id: 3, Title: "test 3"},
  15. {Id: 4, Title: "test 4"},
  16. {Id: 5, Title: "test 5"},
  17. {Id: 6, Title: "test 6"},
  18. }
  19. }
  20. Convey("single server", func() {
  21. scheduler := &Scheduler{
  22. jobs: make(map[int64]*AlertJob, 0),
  23. runQueue: make(chan *AlertJob, 1000),
  24. serverId: "",
  25. serverPosition: 1,
  26. clusterSize: 1,
  27. }
  28. scheduler.updateJobs(mockFn)
  29. So(len(scheduler.jobs), ShouldEqual, 6)
  30. })
  31. Convey("two servers", func() {
  32. scheduler := &Scheduler{
  33. jobs: make(map[int64]*AlertJob, 0),
  34. runQueue: make(chan *AlertJob, 1000),
  35. serverId: "",
  36. serverPosition: 1,
  37. clusterSize: 2,
  38. }
  39. scheduler.updateJobs(mockFn)
  40. So(len(scheduler.jobs), ShouldEqual, 3)
  41. So(scheduler.jobs[1].rule.Id, ShouldEqual, 1)
  42. })
  43. Convey("six servers", func() {
  44. scheduler := &Scheduler{
  45. jobs: make(map[int64]*AlertJob, 0),
  46. runQueue: make(chan *AlertJob, 1000),
  47. serverId: "",
  48. serverPosition: 6,
  49. clusterSize: 6,
  50. }
  51. scheduler.updateJobs(mockFn)
  52. So(len(scheduler.jobs), ShouldEqual, 1)
  53. So(scheduler.jobs[6].rule.Id, ShouldEqual, 6)
  54. })
  55. Convey("more servers then alerts", func() {
  56. mockFn := func() []m.AlertRule {
  57. return []m.AlertRule{
  58. {Id: 1, Title: "test 1"},
  59. }
  60. }
  61. scheduler := &Scheduler{
  62. jobs: make(map[int64]*AlertJob, 0),
  63. runQueue: make(chan *AlertJob, 1000),
  64. serverId: "",
  65. serverPosition: 3,
  66. clusterSize: 3,
  67. }
  68. scheduler.updateJobs(mockFn)
  69. So(len(scheduler.jobs), ShouldEqual, 0)
  70. })
  71. */
  72. })
  73. }