From 0c69c5afb19ae105034c6b24fa9ecb0a626710e7 Mon Sep 17 00:00:00 2001 From: bergquist Date: Fri, 10 Jun 2016 11:37:03 +0200 Subject: [PATCH] test(alerting): fixes broken unittests --- pkg/models/alerts.go | 15 ++++++++------- pkg/services/alerting/scheduler.go | 4 ++-- pkg/services/sqlstore/alert_rule_test.go | 8 ++++++-- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/pkg/models/alerts.go b/pkg/models/alerts.go index 0764aaa2845..46177d1b334 100644 --- a/pkg/models/alerts.go +++ b/pkg/models/alerts.go @@ -31,19 +31,20 @@ func (alertRule *AlertRuleDAO) ValidToSave() bool { func (this *AlertRuleDAO) ContainsUpdates(other *AlertRuleDAO) bool { result := false - result = result || this.Name != other.Name result = result || this.Description != other.Description - json1, err1 := this.Expression.MarshalJSON() - json2, err2 := other.Expression.MarshalJSON() + if this.Expression != nil && other.Expression != nil { + json1, err1 := this.Expression.Encode() + json2, err2 := other.Expression.Encode() - if err1 != nil || err2 != nil { - return false + if err1 != nil || err2 != nil { + return false + } + + result = result || string(json1) != string(json2) } - result = result || string(json1) != string(json2) - //don't compare .State! That would be insane. return result diff --git a/pkg/services/alerting/scheduler.go b/pkg/services/alerting/scheduler.go index b013b8a3eeb..5b376e8c9d8 100644 --- a/pkg/services/alerting/scheduler.go +++ b/pkg/services/alerting/scheduler.go @@ -40,7 +40,7 @@ func (s *SchedulerImpl) Update(rules []*AlertRule) { jobs[rule.Id] = job } - s.log.Debug("Scheduler: Selected %d jobs", len(jobs)) + s.log.Debug("Scheduler: Selected new jobs", "job count", len(jobs)) s.jobs = jobs } @@ -49,7 +49,7 @@ func (s *SchedulerImpl) Tick(tickTime time.Time, execQueue chan *AlertJob) { for _, job := range s.jobs { if now%job.Rule.Frequency == 0 && job.Running == false { - log.Trace("Scheduler: Putting job on to exec queue: %s", job.Rule.Name) + s.log.Debug("Scheduler: Putting job on to exec queue", "name", job.Rule.Name) execQueue <- job } } diff --git a/pkg/services/sqlstore/alert_rule_test.go b/pkg/services/sqlstore/alert_rule_test.go index 939decd8e2d..0e1127591d5 100644 --- a/pkg/services/sqlstore/alert_rule_test.go +++ b/pkg/services/sqlstore/alert_rule_test.go @@ -3,6 +3,7 @@ package sqlstore import ( "testing" + "github.com/grafana/grafana/pkg/components/simplejson" m "github.com/grafana/grafana/pkg/models" . "github.com/smartystreets/goconvey/convey" ) @@ -20,6 +21,7 @@ func TestAlertingDataAccess(t *testing.T) { OrgId: testDash.OrgId, Name: "Alerting title", Description: "Alerting description", + Expression: simplejson.New(), }, } @@ -54,8 +56,7 @@ func TestAlertingDataAccess(t *testing.T) { Convey("Alerts with same dashboard id and panel id should update", func() { modifiedItems := items - modifiedItems[0].Name = "New name" - //modifiedItems[0].State = "ALERT" + modifiedItems[0].Name = "Name" modifiedCmd := m.SaveAlertsCommand{ DashboardId: testDash.Id, @@ -101,18 +102,21 @@ func TestAlertingDataAccess(t *testing.T) { PanelId: 1, Name: "1", OrgId: 1, + Expression: simplejson.New(), }, { DashboardId: testDash.Id, PanelId: 2, Name: "2", OrgId: 1, + Expression: simplejson.New(), }, { DashboardId: testDash.Id, PanelId: 3, Name: "3", OrgId: 1, + Expression: simplejson.New(), }, }