mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
fix gofmt, add test, correct noted concerns with default value
This commit is contained in:
parent
18c73631ea
commit
c4dcf5a4ee
@ -49,30 +49,30 @@ func formatShort(interval time.Duration) string {
|
|||||||
|
|
||||||
func NewAlertNotification(notification *models.AlertNotification) *AlertNotification {
|
func NewAlertNotification(notification *models.AlertNotification) *AlertNotification {
|
||||||
return &AlertNotification{
|
return &AlertNotification{
|
||||||
Id: notification.Id,
|
Id: notification.Id,
|
||||||
Name: notification.Name,
|
Name: notification.Name,
|
||||||
Type: notification.Type,
|
Type: notification.Type,
|
||||||
IsDefault: notification.IsDefault,
|
IsDefault: notification.IsDefault,
|
||||||
Created: notification.Created,
|
Created: notification.Created,
|
||||||
Updated: notification.Updated,
|
Updated: notification.Updated,
|
||||||
Frequency: formatShort(notification.Frequency),
|
Frequency: formatShort(notification.Frequency),
|
||||||
SendReminder: notification.SendReminder,
|
SendReminder: notification.SendReminder,
|
||||||
DisableResolvedMessage: notification.DisableResolvedMessage,
|
DisableResolvedMessage: notification.DisableResolvedMessage,
|
||||||
Settings: notification.Settings,
|
Settings: notification.Settings,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type AlertNotification struct {
|
type AlertNotification struct {
|
||||||
Id int64 `json:"id"`
|
Id int64 `json:"id"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Type string `json:"type"`
|
Type string `json:"type"`
|
||||||
IsDefault bool `json:"isDefault"`
|
IsDefault bool `json:"isDefault"`
|
||||||
SendReminder bool `json:"sendReminder"`
|
SendReminder bool `json:"sendReminder"`
|
||||||
DisableResolvedMessage bool `json:"disableResolvedMessage"`
|
DisableResolvedMessage bool `json:"disableResolvedMessage"`
|
||||||
Frequency string `json:"frequency"`
|
Frequency string `json:"frequency"`
|
||||||
Created time.Time `json:"created"`
|
Created time.Time `json:"created"`
|
||||||
Updated time.Time `json:"updated"`
|
Updated time.Time `json:"updated"`
|
||||||
Settings *simplejson.Json `json:"settings"`
|
Settings *simplejson.Json `json:"settings"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type AlertTestCommand struct {
|
type AlertTestCommand struct {
|
||||||
@ -102,12 +102,12 @@ type EvalMatch struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type NotificationTestCommand struct {
|
type NotificationTestCommand struct {
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Type string `json:"type"`
|
Type string `json:"type"`
|
||||||
SendReminder bool `json:"sendReminder"`
|
SendReminder bool `json:"sendReminder"`
|
||||||
DisableResolvedMessage bool `json:"disableResolvedMessage"`
|
DisableResolvedMessage bool `json:"disableResolvedMessage"`
|
||||||
Frequency string `json:"frequency"`
|
Frequency string `json:"frequency"`
|
||||||
Settings *simplejson.Json `json:"settings"`
|
Settings *simplejson.Json `json:"settings"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type PauseAlertCommand struct {
|
type PauseAlertCommand struct {
|
||||||
|
@ -23,41 +23,41 @@ var (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type AlertNotification struct {
|
type AlertNotification struct {
|
||||||
Id int64 `json:"id"`
|
Id int64 `json:"id"`
|
||||||
OrgId int64 `json:"-"`
|
OrgId int64 `json:"-"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Type string `json:"type"`
|
Type string `json:"type"`
|
||||||
SendReminder bool `json:"sendReminder"`
|
SendReminder bool `json:"sendReminder"`
|
||||||
DisableResolvedMessage bool `json:"disableResolvedMessage"`
|
DisableResolvedMessage bool `json:"disableResolvedMessage"`
|
||||||
Frequency time.Duration `json:"frequency"`
|
Frequency time.Duration `json:"frequency"`
|
||||||
IsDefault bool `json:"isDefault"`
|
IsDefault bool `json:"isDefault"`
|
||||||
Settings *simplejson.Json `json:"settings"`
|
Settings *simplejson.Json `json:"settings"`
|
||||||
Created time.Time `json:"created"`
|
Created time.Time `json:"created"`
|
||||||
Updated time.Time `json:"updated"`
|
Updated time.Time `json:"updated"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type CreateAlertNotificationCommand struct {
|
type CreateAlertNotificationCommand struct {
|
||||||
Name string `json:"name" binding:"Required"`
|
Name string `json:"name" binding:"Required"`
|
||||||
Type string `json:"type" binding:"Required"`
|
Type string `json:"type" binding:"Required"`
|
||||||
SendReminder bool `json:"sendReminder"`
|
SendReminder bool `json:"sendReminder"`
|
||||||
DisableResolvedMessage bool `json:"disableResolvedMessage"`
|
DisableResolvedMessage bool `json:"disableResolvedMessage"`
|
||||||
Frequency string `json:"frequency"`
|
Frequency string `json:"frequency"`
|
||||||
IsDefault bool `json:"isDefault"`
|
IsDefault bool `json:"isDefault"`
|
||||||
Settings *simplejson.Json `json:"settings"`
|
Settings *simplejson.Json `json:"settings"`
|
||||||
|
|
||||||
OrgId int64 `json:"-"`
|
OrgId int64 `json:"-"`
|
||||||
Result *AlertNotification
|
Result *AlertNotification
|
||||||
}
|
}
|
||||||
|
|
||||||
type UpdateAlertNotificationCommand struct {
|
type UpdateAlertNotificationCommand struct {
|
||||||
Id int64 `json:"id" binding:"Required"`
|
Id int64 `json:"id" binding:"Required"`
|
||||||
Name string `json:"name" binding:"Required"`
|
Name string `json:"name" binding:"Required"`
|
||||||
Type string `json:"type" binding:"Required"`
|
Type string `json:"type" binding:"Required"`
|
||||||
SendReminder bool `json:"sendReminder"`
|
SendReminder bool `json:"sendReminder"`
|
||||||
DisableResolvedMessage bool `json:"disableResolvedMessage"`
|
DisableResolvedMessage bool `json:"disableResolvedMessage"`
|
||||||
Frequency string `json:"frequency"`
|
Frequency string `json:"frequency"`
|
||||||
IsDefault bool `json:"isDefault"`
|
IsDefault bool `json:"isDefault"`
|
||||||
Settings *simplejson.Json `json:"settings" binding:"Required"`
|
Settings *simplejson.Json `json:"settings" binding:"Required"`
|
||||||
|
|
||||||
OrgId int64 `json:"-"`
|
OrgId int64 `json:"-"`
|
||||||
Result *AlertNotification
|
Result *AlertNotification
|
||||||
|
@ -6,7 +6,6 @@ import (
|
|||||||
|
|
||||||
"github.com/grafana/grafana/pkg/log"
|
"github.com/grafana/grafana/pkg/log"
|
||||||
"github.com/grafana/grafana/pkg/models"
|
"github.com/grafana/grafana/pkg/models"
|
||||||
|
|
||||||
"github.com/grafana/grafana/pkg/services/alerting"
|
"github.com/grafana/grafana/pkg/services/alerting"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -15,14 +14,14 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type NotifierBase struct {
|
type NotifierBase struct {
|
||||||
Name string
|
Name string
|
||||||
Type string
|
Type string
|
||||||
Id int64
|
Id int64
|
||||||
IsDeault bool
|
IsDeault bool
|
||||||
UploadImage bool
|
UploadImage bool
|
||||||
SendReminder bool
|
SendReminder bool
|
||||||
DisableResolvedMessage bool
|
DisableResolvedMessage bool
|
||||||
Frequency time.Duration
|
Frequency time.Duration
|
||||||
|
|
||||||
log log.Logger
|
log log.Logger
|
||||||
}
|
}
|
||||||
@ -35,15 +34,15 @@ func NewNotifierBase(model *models.AlertNotification) NotifierBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return NotifierBase{
|
return NotifierBase{
|
||||||
Id: model.Id,
|
Id: model.Id,
|
||||||
Name: model.Name,
|
Name: model.Name,
|
||||||
IsDeault: model.IsDefault,
|
IsDeault: model.IsDefault,
|
||||||
Type: model.Type,
|
Type: model.Type,
|
||||||
UploadImage: uploadImage,
|
UploadImage: uploadImage,
|
||||||
SendReminder: model.SendReminder,
|
SendReminder: model.SendReminder,
|
||||||
DisableResolvedMessage: model.DisableResolvedMessage,
|
DisableResolvedMessage: model.DisableResolvedMessage,
|
||||||
Frequency: model.Frequency,
|
Frequency: model.Frequency,
|
||||||
log: log.New("alerting.notifier." + model.Name),
|
log: log.New("alerting.notifier." + model.Name),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -179,5 +179,10 @@ func TestBaseNotifier(t *testing.T) {
|
|||||||
base := NewNotifierBase(model)
|
base := NewNotifierBase(model)
|
||||||
So(base.UploadImage, ShouldBeTrue)
|
So(base.UploadImage, ShouldBeTrue)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Convey("default value should be false for backwards compatibility", func() {
|
||||||
|
base := NewNotifierBase(model)
|
||||||
|
So(base.DisableResolvedMessage, ShouldBeFalse)
|
||||||
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -168,16 +168,16 @@ func CreateAlertNotificationCommand(cmd *m.CreateAlertNotificationCommand) error
|
|||||||
}
|
}
|
||||||
|
|
||||||
alertNotification := &m.AlertNotification{
|
alertNotification := &m.AlertNotification{
|
||||||
OrgId: cmd.OrgId,
|
OrgId: cmd.OrgId,
|
||||||
Name: cmd.Name,
|
Name: cmd.Name,
|
||||||
Type: cmd.Type,
|
Type: cmd.Type,
|
||||||
Settings: cmd.Settings,
|
Settings: cmd.Settings,
|
||||||
SendReminder: cmd.SendReminder,
|
SendReminder: cmd.SendReminder,
|
||||||
DisableResolvedMessage: cmd.DisableResolvedMessage,
|
DisableResolvedMessage: cmd.DisableResolvedMessage,
|
||||||
Frequency: frequency,
|
Frequency: frequency,
|
||||||
Created: time.Now(),
|
Created: time.Now(),
|
||||||
Updated: time.Now(),
|
Updated: time.Now(),
|
||||||
IsDefault: cmd.IsDefault,
|
IsDefault: cmd.IsDefault,
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, err = sess.MustCols("send_reminder").Insert(alertNotification); err != nil {
|
if _, err = sess.MustCols("send_reminder").Insert(alertNotification); err != nil {
|
||||||
|
@ -227,14 +227,14 @@ func TestAlertNotificationSQLAccess(t *testing.T) {
|
|||||||
|
|
||||||
Convey("Can update alert notification", func() {
|
Convey("Can update alert notification", func() {
|
||||||
newCmd := &models.UpdateAlertNotificationCommand{
|
newCmd := &models.UpdateAlertNotificationCommand{
|
||||||
Name: "NewName",
|
Name: "NewName",
|
||||||
Type: "webhook",
|
Type: "webhook",
|
||||||
OrgId: cmd.Result.OrgId,
|
OrgId: cmd.Result.OrgId,
|
||||||
SendReminder: true,
|
SendReminder: true,
|
||||||
DisableResolvedMessage: true,
|
DisableResolvedMessage: true,
|
||||||
Frequency: "60s",
|
Frequency: "60s",
|
||||||
Settings: simplejson.New(),
|
Settings: simplejson.New(),
|
||||||
Id: cmd.Result.Id,
|
Id: cmd.Result.Id,
|
||||||
}
|
}
|
||||||
err := UpdateAlertNotification(newCmd)
|
err := UpdateAlertNotification(newCmd)
|
||||||
So(err, ShouldBeNil)
|
So(err, ShouldBeNil)
|
||||||
@ -259,10 +259,10 @@ func TestAlertNotificationSQLAccess(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
Convey("Can search using an array of ids", func() {
|
Convey("Can search using an array of ids", func() {
|
||||||
cmd1 := models.CreateAlertNotificationCommand{Name: "nagios", Type: "webhook", OrgId: 1, SendReminder: true, DisableResolvedMessage: false, Frequency: "10s", Settings: simplejson.New()}
|
cmd1 := m.CreateAlertNotificationCommand{Name: "nagios", Type: "webhook", OrgId: 1, SendReminder: true, Frequency: "10s", Settings: simplejson.New()}
|
||||||
cmd2 := models.CreateAlertNotificationCommand{Name: "slack", Type: "webhook", OrgId: 1, SendReminder: true, DisableResolvedMessage: false, Frequency: "10s", Settings: simplejson.New()}
|
cmd2 := m.CreateAlertNotificationCommand{Name: "slack", Type: "webhook", OrgId: 1, SendReminder: true, Frequency: "10s", Settings: simplejson.New()}
|
||||||
cmd3 := models.CreateAlertNotificationCommand{Name: "ops2", Type: "email", OrgId: 1, SendReminder: true, DisableResolvedMessage: false, Frequency: "10s", Settings: simplejson.New()}
|
cmd3 := m.CreateAlertNotificationCommand{Name: "ops2", Type: "email", OrgId: 1, SendReminder: true, Frequency: "10s", Settings: simplejson.New()}
|
||||||
cmd4 := models.CreateAlertNotificationCommand{IsDefault: true, Name: "default", Type: "email", OrgId: 1, SendReminder: true, DisableResolvedMessage: false, Frequency: "10s", Settings: simplejson.New()}
|
cmd4 := m.CreateAlertNotificationCommand{IsDefault: true, Name: "default", Type: "email", OrgId: 1, SendReminder: true, Frequency: "10s", Settings: simplejson.New()}
|
||||||
|
|
||||||
otherOrg := models.CreateAlertNotificationCommand{Name: "default", Type: "email", OrgId: 2, SendReminder: true, DisableResolvedMessage: false, Frequency: "10s", Settings: simplejson.New()}
|
otherOrg := models.CreateAlertNotificationCommand{Name: "default", Type: "email", OrgId: 2, SendReminder: true, DisableResolvedMessage: false, Frequency: "10s", Settings: simplejson.New()}
|
||||||
|
|
||||||
|
@ -72,7 +72,7 @@ func addAlertMigrations(mg *Migrator) {
|
|||||||
Name: "send_reminder", Type: DB_Bool, Nullable: true, Default: "0",
|
Name: "send_reminder", Type: DB_Bool, Nullable: true, Default: "0",
|
||||||
}))
|
}))
|
||||||
mg.AddMigration("Add column disable_resolved_message", NewAddColumnMigration(alert_notification, &Column{
|
mg.AddMigration("Add column disable_resolved_message", NewAddColumnMigration(alert_notification, &Column{
|
||||||
Name: "disable_resolved_message", Type: DB_Bool, Nullable: false, Default: "1",
|
Name: "disable_resolved_message", Type: DB_Bool, Nullable: false, Default: "0",
|
||||||
}))
|
}))
|
||||||
|
|
||||||
mg.AddMigration("add index alert_notification org_id & name", NewAddIndexMigration(alert_notification, alert_notification.Indices[0]))
|
mg.AddMigration("add index alert_notification org_id & name", NewAddIndexMigration(alert_notification, alert_notification.Indices[0]))
|
||||||
|
Loading…
Reference in New Issue
Block a user