summaryrefslogtreecommitdiffstats
path: root/model/outgoing_webhook_test.go
diff options
context:
space:
mode:
authorThomas Balthazar <tbalthazar@users.noreply.github.com>2016-05-31 16:51:28 +0200
committerChristopher Speller <crspeller@gmail.com>2016-05-31 10:51:28 -0400
commitc226cabc048a4e33e956346523e4605e85979d08 (patch)
tree563bb6536645b24ed378da4056b2f9f2bad40aea /model/outgoing_webhook_test.go
parent8f984771ae99e903f834236e24a1048d163a0ae6 (diff)
downloadchat-c226cabc048a4e33e956346523e4605e85979d08.tar.gz
chat-c226cabc048a4e33e956346523e4605e85979d08.tar.bz2
chat-c226cabc048a4e33e956346523e4605e85979d08.zip
PLT-2170 Send payload in application/json for outgoing webhooks (#3160)
* Send payload in application/json for outgoing webhooks The Add outgoing webhook UI now has a 'Content-Type' field that allows to choose between application/x-www-form-urlencoded and application/json. All outgoing webhooks created before this change will be considered as x-www-form-urlencoded. There's also a minor change in the way the outgoing webhook summary is displayed: the 'Callback URLs' label was missing. * Fix JS formatting errors * Increase ContentType field length to 128
Diffstat (limited to 'model/outgoing_webhook_test.go')
-rw-r--r--model/outgoing_webhook_test.go43
1 files changed, 43 insertions, 0 deletions
diff --git a/model/outgoing_webhook_test.go b/model/outgoing_webhook_test.go
index 72c842e03..24b81d221 100644
--- a/model/outgoing_webhook_test.go
+++ b/model/outgoing_webhook_test.go
@@ -4,6 +4,8 @@
package model
import (
+ "net/url"
+ "reflect"
"strings"
"testing"
)
@@ -107,8 +109,49 @@ func TestOutgoingWebhookIsValid(t *testing.T) {
o.Description = strings.Repeat("1", 128)
if err := o.IsValid(); err != nil {
+ t.Fatal("should be invalid")
+ }
+
+ o.ContentType = strings.Repeat("1", 129)
+ if err := o.IsValid(); err == nil {
t.Fatal(err)
}
+
+ o.ContentType = strings.Repeat("1", 128)
+ if err := o.IsValid(); err != nil {
+ t.Fatal(err)
+ }
+}
+
+func TestOutgoingWebhookPayloadToFormValues(t *testing.T) {
+ p := &OutgoingWebhookPayload{
+ Token: "Token",
+ TeamId: "TeamId",
+ TeamDomain: "TeamDomain",
+ ChannelId: "ChannelId",
+ ChannelName: "ChannelName",
+ Timestamp: 123000,
+ UserId: "UserId",
+ UserName: "UserName",
+ PostId: "PostId",
+ Text: "Text",
+ TriggerWord: "TriggerWord",
+ }
+ v := url.Values{}
+ v.Set("token", "Token")
+ v.Set("team_id", "TeamId")
+ v.Set("team_domain", "TeamDomain")
+ v.Set("channel_id", "ChannelId")
+ v.Set("channel_name", "ChannelName")
+ v.Set("timestamp", "123")
+ v.Set("user_id", "UserId")
+ v.Set("user_name", "UserName")
+ v.Set("post_id", "PostId")
+ v.Set("text", "Text")
+ v.Set("trigger_word", "TriggerWord")
+ if got, want := p.ToFormValues(), v.Encode(); !reflect.DeepEqual(got, want) {
+ t.Fatalf("Got %+v, wanted %+v", got, want)
+ }
}
func TestOutgoingWebhookPreSave(t *testing.T) {