feat(alerting): things are compiling and tests pass

This commit is contained in:
Torkel Ödegaard
2016-06-06 13:50:47 +02:00
parent 0cbf4ae773
commit 7a34c129fe
15 changed files with 156 additions and 215 deletions
+12 -12
View File
@@ -29,12 +29,12 @@ func GetAlertById(query *m.GetAlertByIdQuery) error {
return err
}
query.Result = alert
query.Result = &alert
return nil
}
func GetAllAlertQueryHandler(query *m.GetAllAlertsQuery) error {
var alerts []m.AlertRule
var alerts []*m.AlertRule
err := x.Sql("select * from alert_rule").Find(&alerts)
if err != nil {
return err
@@ -87,7 +87,7 @@ func HandleAlertsQuery(query *m.GetAlertsQuery) error {
sql.WriteString(")")
}
alerts := make([]m.AlertRule, 0)
alerts := make([]*m.AlertRule, 0)
if err := x.Sql(sql.String(), params...).Find(&alerts); err != nil {
return err
}
@@ -97,7 +97,7 @@ func HandleAlertsQuery(query *m.GetAlertsQuery) error {
}
func DeleteAlertDefinition(dashboardId int64, sess *xorm.Session) error {
alerts := make([]m.AlertRule, 0)
alerts := make([]*m.AlertRule, 0)
sess.Where("dashboard_id = ?", dashboardId).Find(&alerts)
for _, alert := range alerts {
@@ -128,10 +128,10 @@ func SaveAlerts(cmd *m.SaveAlertsCommand) error {
})
}
func upsertAlerts(alerts []m.AlertRule, posted []m.AlertRule, sess *xorm.Session) error {
func upsertAlerts(alerts []*m.AlertRule, posted []*m.AlertRule, sess *xorm.Session) error {
for _, alert := range posted {
update := false
var alertToUpdate m.AlertRule
var alertToUpdate *m.AlertRule
for _, k := range alerts {
if alert.PanelId == k.PanelId {
@@ -145,7 +145,7 @@ func upsertAlerts(alerts []m.AlertRule, posted []m.AlertRule, sess *xorm.Session
if alertToUpdate.Equals(alert) {
alert.Updated = time.Now()
alert.State = alertToUpdate.State
_, err := sess.Id(alert.Id).Update(&alert)
_, err := sess.Id(alert.Id).Update(alert)
if err != nil {
return err
}
@@ -157,7 +157,7 @@ func upsertAlerts(alerts []m.AlertRule, posted []m.AlertRule, sess *xorm.Session
alert.Updated = time.Now()
alert.Created = time.Now()
alert.State = "OK"
_, err := sess.Insert(&alert)
_, err := sess.Insert(alert)
if err != nil {
return err
}
@@ -168,7 +168,7 @@ func upsertAlerts(alerts []m.AlertRule, posted []m.AlertRule, sess *xorm.Session
return nil
}
func deleteMissingAlerts(alerts []m.AlertRule, posted []m.AlertRule, sess *xorm.Session) error {
func deleteMissingAlerts(alerts []*m.AlertRule, posted []*m.AlertRule, sess *xorm.Session) error {
for _, missingAlert := range alerts {
missing := true
@@ -194,12 +194,12 @@ func deleteMissingAlerts(alerts []m.AlertRule, posted []m.AlertRule, sess *xorm.
return nil
}
func GetAlertsByDashboardId2(dashboardId int64, sess *xorm.Session) ([]m.AlertRule, error) {
alerts := make([]m.AlertRule, 0)
func GetAlertsByDashboardId2(dashboardId int64, sess *xorm.Session) ([]*m.AlertRule, error) {
alerts := make([]*m.AlertRule, 0)
err := sess.Where("dashboard_id = ?", dashboardId).Find(&alerts)
if err != nil {
return []m.AlertRule{}, err
return []*m.AlertRule{}, err
}
return alerts, nil
+4 -3
View File
@@ -2,10 +2,11 @@ package sqlstore
import (
"bytes"
"time"
"github.com/go-xorm/xorm"
"github.com/grafana/grafana/pkg/bus"
m "github.com/grafana/grafana/pkg/models"
"time"
)
func init() {
@@ -38,7 +39,7 @@ func GetAlertRuleChanges(query *m.GetAlertChangesQuery) error {
params = append(params, query.Limit)
}
alertChanges := make([]m.AlertRuleChange, 0)
alertChanges := make([]*m.AlertRuleChange, 0)
if err := x.Sql(sql.String(), params...).Find(&alertChanges); err != nil {
return err
}
@@ -47,7 +48,7 @@ func GetAlertRuleChanges(query *m.GetAlertChangesQuery) error {
return nil
}
func SaveAlertChange(change string, alert m.AlertRule, sess *xorm.Session) error {
func SaveAlertChange(change string, alert *m.AlertRule, sess *xorm.Session) error {
_, err := sess.Insert(&m.AlertRuleChange{
OrgId: alert.OrgId,
Type: change,
@@ -20,8 +20,8 @@ func TestAlertRuleChangesDataAccess(t *testing.T) {
var err error
Convey("When dashboard is removed", func() {
items := []m.AlertRule{
{
items := []*m.AlertRule{
&m.AlertRule{
PanelId: 1,
DashboardId: testDash.Id,
Query: "Query",
+8 -8
View File
@@ -14,8 +14,8 @@ func TestAlertingDataAccess(t *testing.T) {
testDash := insertTestDashboard("dashboard with alerts", 1, "alert")
items := []m.AlertRule{
{
items := []*m.AlertRule{
&m.AlertRule{
PanelId: 1,
DashboardId: testDash.Id,
OrgId: testDash.OrgId,
@@ -116,20 +116,20 @@ func TestAlertingDataAccess(t *testing.T) {
})
Convey("Multiple alerts per dashboard", func() {
multipleItems := []m.AlertRule{
{
multipleItems := []*m.AlertRule{
&m.AlertRule{
DashboardId: testDash.Id,
PanelId: 1,
Query: "1",
OrgId: 1,
},
{
&m.AlertRule{
DashboardId: testDash.Id,
PanelId: 2,
Query: "2",
OrgId: 1,
},
{
&m.AlertRule{
DashboardId: testDash.Id,
PanelId: 3,
Query: "3",
@@ -178,8 +178,8 @@ func TestAlertingDataAccess(t *testing.T) {
})
Convey("When dashboard is removed", func() {
items := []m.AlertRule{
{
items := []*m.AlertRule{
&m.AlertRule{
PanelId: 1,
DashboardId: testDash.Id,
Query: "Query",
+2 -2
View File
@@ -13,8 +13,8 @@ func TestAlertingStateAccess(t *testing.T) {
testDash := insertTestDashboard("dashboard with alerts", 1, "alert")
items := []m.AlertRule{
{
items := []*m.AlertRule{
&m.AlertRule{
PanelId: 1,
DashboardId: testDash.Id,
OrgId: testDash.OrgId,