diff options
Diffstat (limited to 'model')
-rw-r--r-- | model/incoming_webhook.go | 28 | ||||
-rw-r--r-- | model/incoming_webhook_test.go | 20 |
2 files changed, 39 insertions, 9 deletions
diff --git a/model/incoming_webhook.go b/model/incoming_webhook.go index e9468e87b..2eb007340 100644 --- a/model/incoming_webhook.go +++ b/model/incoming_webhook.go @@ -16,15 +16,17 @@ const ( ) type IncomingWebhook struct { - Id string `json:"id"` - CreateAt int64 `json:"create_at"` - UpdateAt int64 `json:"update_at"` - DeleteAt int64 `json:"delete_at"` - UserId string `json:"user_id"` - ChannelId string `json:"channel_id"` - TeamId string `json:"team_id"` - DisplayName string `json:"display_name"` - Description string `json:"description"` + Id string `json:"id"` + CreateAt int64 `json:"create_at"` + UpdateAt int64 `json:"update_at"` + DeleteAt int64 `json:"delete_at"` + UserId string `json:"user_id"` + ChannelId string `json:"channel_id"` + TeamId string `json:"team_id"` + DisplayName string `json:"display_name"` + Description string `json:"description"` + PostUsername string `json:"post_username"` + PostIconURL string `json:"post_icon_url"` } type IncomingWebhookRequest struct { @@ -112,6 +114,14 @@ func (o *IncomingWebhook) IsValid() *AppError { return NewAppError("IncomingWebhook.IsValid", "model.incoming_hook.description.app_error", nil, "", http.StatusBadRequest) } + if len(o.PostUsername) > 64 { + return NewAppError("IncomingWebhook.IsValid", "model.incoming_hook.username.app_error", nil, "", http.StatusBadRequest) + } + + if len(o.PostIconURL) > 1024 { + return NewAppError("IncomingWebhook.IsValid", "model.incoming_hook.post_icon_url.app_error", nil, "", http.StatusBadRequest) + } + return nil } diff --git a/model/incoming_webhook_test.go b/model/incoming_webhook_test.go index 5b78f877f..13b416eb0 100644 --- a/model/incoming_webhook_test.go +++ b/model/incoming_webhook_test.go @@ -89,6 +89,26 @@ func TestIncomingWebhookIsValid(t *testing.T) { if err := o.IsValid(); err != nil { t.Fatal(err) } + + o.PostUsername = strings.Repeat("1", 65) + if err := o.IsValid(); err == nil { + t.Fatal("should be invalid") + } + + o.PostUsername = strings.Repeat("1", 64) + if err := o.IsValid(); err != nil { + t.Fatal(err) + } + + o.PostIconURL = strings.Repeat("1", 1025) + if err := o.IsValid(); err == nil { + t.Fatal("should be invalid") + } + + o.PostIconURL = strings.Repeat("1", 1024) + if err := o.IsValid(); err != nil { + t.Fatal(err) + } } func TestIncomingWebhookPreSave(t *testing.T) { |