fix gofmt, add test, correct noted concerns with default value

This commit is contained in:
Dave Waters 2018-10-16 17:33:38 -04:00
parent 18c73631ea
commit c4dcf5a4ee
7 changed files with 93 additions and 89 deletions

View File

@ -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 {

View File

@ -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

View File

@ -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),
} }
} }

View File

@ -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)
})
}) })
} }

View File

@ -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 {

View File

@ -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()}

View File

@ -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]))