Update kapacitor rule response to have empty arrays
Signed-off-by: Deniz Kusefoglu <denizk@gmail.com>pull/10616/head
parent
8821dd1c56
commit
f728c24764
|
@ -358,26 +358,111 @@ func newAlertResponse(task *kapa.Task, srcID, kapaID int) *alertResponse {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
if res.Alerts == nil {
|
if res.AlertHandlers.Alerta == nil {
|
||||||
res.Alerts = make([]string, 0)
|
res.AlertHandlers.Alerta = []*chronograf.Alerta{}
|
||||||
}
|
}
|
||||||
|
|
||||||
if res.AlertNodes == nil {
|
for i, a := range res.AlertHandlers.Alerta {
|
||||||
res.AlertNodes = make([]chronograf.KapacitorNode, 0)
|
if a.Service == nil {
|
||||||
|
a.Service = []string{}
|
||||||
|
res.AlertHandlers.Alerta[i] = a
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, n := range res.AlertNodes {
|
if res.AlertHandlers.Email == nil {
|
||||||
if n.Args == nil {
|
res.AlertHandlers.Email = []*chronograf.Email{}
|
||||||
n.Args = make([]string, 0)
|
|
||||||
}
|
}
|
||||||
if n.Properties == nil {
|
|
||||||
n.Properties = make([]chronograf.KapacitorProperty, 0)
|
for i, a := range res.AlertHandlers.Email {
|
||||||
}
|
if a.To == nil {
|
||||||
for _, p := range n.Properties {
|
a.To = []string{}
|
||||||
if p.Args == nil {
|
res.AlertHandlers.Email[i] = a
|
||||||
p.Args = make([]string, 0)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if res.AlertHandlers.Exec == nil {
|
||||||
|
res.AlertHandlers.Exec = []*chronograf.Exec{}
|
||||||
|
}
|
||||||
|
|
||||||
|
for i, a := range res.AlertHandlers.Exec {
|
||||||
|
if a.Command == nil {
|
||||||
|
a.Command = []string{}
|
||||||
|
res.AlertHandlers.Exec[i] = a
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if res.AlertHandlers.HipChat == nil {
|
||||||
|
res.AlertHandlers.HipChat = []*chronograf.HipChat{}
|
||||||
|
}
|
||||||
|
|
||||||
|
if res.AlertHandlers.Log == nil {
|
||||||
|
res.AlertHandlers.Log = []*chronograf.Log{}
|
||||||
|
}
|
||||||
|
|
||||||
|
if res.AlertHandlers.OpsGenie == nil {
|
||||||
|
res.AlertHandlers.OpsGenie = []*chronograf.OpsGenie{}
|
||||||
|
}
|
||||||
|
|
||||||
|
for i, a := range res.AlertHandlers.OpsGenie {
|
||||||
|
if a.Teams == nil {
|
||||||
|
a.Teams = []string{}
|
||||||
|
res.AlertHandlers.OpsGenie[i] = a
|
||||||
|
}
|
||||||
|
|
||||||
|
if a.Recipients == nil {
|
||||||
|
a.Recipients = []string{}
|
||||||
|
res.AlertHandlers.OpsGenie[i] = a
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if res.AlertHandlers.PagerDuty == nil {
|
||||||
|
res.AlertHandlers.PagerDuty = []*chronograf.PagerDuty{}
|
||||||
|
}
|
||||||
|
|
||||||
|
if res.AlertHandlers.Posts == nil {
|
||||||
|
res.AlertHandlers.Posts = []*chronograf.Post{}
|
||||||
|
}
|
||||||
|
|
||||||
|
for i, a := range res.AlertHandlers.Posts {
|
||||||
|
if a.Headers == nil {
|
||||||
|
a.Headers = map[string]string{}
|
||||||
|
res.AlertHandlers.Posts[i] = a
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if res.AlertHandlers.Pushover == nil {
|
||||||
|
res.AlertHandlers.Pushover = []*chronograf.Pushover{}
|
||||||
|
}
|
||||||
|
|
||||||
|
if res.AlertHandlers.Sensu == nil {
|
||||||
|
res.AlertHandlers.Sensu = []*chronograf.Sensu{}
|
||||||
|
}
|
||||||
|
|
||||||
|
for i, a := range res.AlertHandlers.Sensu {
|
||||||
|
if a.Handlers == nil {
|
||||||
|
a.Handlers = []string{}
|
||||||
|
res.AlertHandlers.Sensu[i] = a
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if res.AlertHandlers.Slack == nil {
|
||||||
|
res.AlertHandlers.Slack = []*chronograf.Slack{}
|
||||||
|
}
|
||||||
|
|
||||||
|
if res.AlertHandlers.Talk == nil {
|
||||||
|
res.AlertHandlers.Talk = []*chronograf.Talk{}
|
||||||
|
}
|
||||||
|
|
||||||
|
if res.AlertHandlers.TCPs == nil {
|
||||||
|
res.AlertHandlers.TCPs = []*chronograf.TCP{}
|
||||||
|
}
|
||||||
|
|
||||||
|
if res.AlertHandlers.Telegram == nil {
|
||||||
|
res.AlertHandlers.Telegram = []*chronograf.Telegram{}
|
||||||
|
}
|
||||||
|
|
||||||
|
if res.AlertHandlers.VictorOps == nil {
|
||||||
|
res.AlertHandlers.VictorOps = []*chronograf.VictorOps{}
|
||||||
}
|
}
|
||||||
|
|
||||||
if res.Query != nil {
|
if res.Query != nil {
|
||||||
|
|
|
@ -94,9 +94,9 @@ func Test_KapacitorRulesGet(t *testing.T) {
|
||||||
expected []chronograf.AlertRule
|
expected []chronograf.AlertRule
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
"basic",
|
name: "basic",
|
||||||
"/chronograf/v1/sources/1/kapacitors/1/rules",
|
requestPath: "/chronograf/v1/sources/1/kapacitors/1/rules",
|
||||||
[]chronograf.AlertRule{
|
mockAlerts: []chronograf.AlertRule{
|
||||||
{
|
{
|
||||||
ID: "cpu_alert",
|
ID: "cpu_alert",
|
||||||
Name: "cpu_alert",
|
Name: "cpu_alert",
|
||||||
|
@ -106,15 +106,31 @@ func Test_KapacitorRulesGet(t *testing.T) {
|
||||||
TICKScript: tickScript,
|
TICKScript: tickScript,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
[]chronograf.AlertRule{
|
expected: []chronograf.AlertRule{
|
||||||
{
|
{
|
||||||
ID: "cpu_alert",
|
ID: "cpu_alert",
|
||||||
Name: "cpu_alert",
|
Name: "cpu_alert",
|
||||||
Status: "enabled",
|
Status: "enabled",
|
||||||
Type: "stream",
|
Type: "stream",
|
||||||
DBRPs: []chronograf.DBRP{{DB: "telegraf", RP: "autogen"}},
|
DBRPs: []chronograf.DBRP{{DB: "telegraf", RP: "autogen"}},
|
||||||
Alerts: []string{},
|
|
||||||
TICKScript: tickScript,
|
TICKScript: tickScript,
|
||||||
|
AlertHandlers: chronograf.AlertHandlers{
|
||||||
|
Posts: []*chronograf.Post{},
|
||||||
|
TCPs: []*chronograf.TCP{},
|
||||||
|
Email: []*chronograf.Email{},
|
||||||
|
Exec: []*chronograf.Exec{},
|
||||||
|
Log: []*chronograf.Log{},
|
||||||
|
VictorOps: []*chronograf.VictorOps{},
|
||||||
|
PagerDuty: []*chronograf.PagerDuty{},
|
||||||
|
Pushover: []*chronograf.Pushover{},
|
||||||
|
Sensu: []*chronograf.Sensu{},
|
||||||
|
Slack: []*chronograf.Slack{},
|
||||||
|
Telegram: []*chronograf.Telegram{},
|
||||||
|
HipChat: []*chronograf.HipChat{},
|
||||||
|
Alerta: []*chronograf.Alerta{},
|
||||||
|
OpsGenie: []*chronograf.OpsGenie{},
|
||||||
|
Talk: []*chronograf.Talk{},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue