diff --git a/pkg/notifier/slack.go b/pkg/notifier/slack.go index 1ca4f9d2..f4a3d5ce 100644 --- a/pkg/notifier/slack.go +++ b/pkg/notifier/slack.go @@ -74,7 +74,7 @@ func (s *Slack) Post(workload string, namespace string, message string, fields [ color = "danger" } - sfields := make([]SlackField, len(fields)) + sfields := make([]SlackField, 0, len(fields)) for _, f := range fields { sfields = append(sfields, SlackField{f.Name, f.Value, false}) } diff --git a/pkg/notifier/slack_test.go b/pkg/notifier/slack_test.go index e0bb976a..3194f0fb 100644 --- a/pkg/notifier/slack_test.go +++ b/pkg/notifier/slack_test.go @@ -9,6 +9,11 @@ import ( ) func TestSlack_Post(t *testing.T) { + fields := []Field{ + {Name: "name1", Value: "value1"}, + {Name: "name2", Value: "value2"}, + } + ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { b, err := ioutil.ReadAll(r.Body) if err != nil { @@ -20,6 +25,10 @@ func TestSlack_Post(t *testing.T) { if payload.Attachments[0].AuthorName != "podinfo.test" { t.Fatal("wrong author name") } + + if len(payload.Attachments[0].Fields) != len(fields) { + t.Fatal("wrong facts") + } })) defer ts.Close() @@ -28,7 +37,7 @@ func TestSlack_Post(t *testing.T) { t.Fatal(err) } - err = slack.Post("podinfo", "test", "test", nil, true) + err = slack.Post("podinfo", "test", "test", fields, true) if err != nil { t.Fatal(err) } diff --git a/pkg/notifier/teams.go b/pkg/notifier/teams.go index e463b908..01050f0a 100644 --- a/pkg/notifier/teams.go +++ b/pkg/notifier/teams.go @@ -45,7 +45,7 @@ func NewMSTeams(hookURL string) (*MSTeams, error) { // Post MS Teams message func (s *MSTeams) Post(workload string, namespace string, message string, fields []Field, warn bool) error { - facts := make([]MSTeamsField, len(fields)) + facts := make([]MSTeamsField, 0, len(fields)) for _, f := range fields { facts = append(facts, MSTeamsField{f.Name, f.Value}) } diff --git a/pkg/notifier/teams_test.go b/pkg/notifier/teams_test.go index 70799b12..4045d216 100644 --- a/pkg/notifier/teams_test.go +++ b/pkg/notifier/teams_test.go @@ -9,6 +9,12 @@ import ( ) func TestTeams_Post(t *testing.T) { + + fields := []Field{ + {Name: "name1", Value: "value1"}, + {Name: "name2", Value: "value2"}, + } + ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { b, err := ioutil.ReadAll(r.Body) if err != nil { @@ -20,6 +26,9 @@ func TestTeams_Post(t *testing.T) { if payload.Sections[0].ActivitySubtitle != "podinfo.test" { t.Fatal("wrong activity subtitle") } + if len(payload.Sections[0].Facts) != len(fields) { + t.Fatal("wrong facts") + } })) defer ts.Close() @@ -28,7 +37,7 @@ func TestTeams_Post(t *testing.T) { t.Fatal(err) } - err = teams.Post("podinfo", "test", "test", nil, true) + err = teams.Post("podinfo", "test", "test", fields, true) if err != nil { t.Fatal(err) }