summaryrefslogtreecommitdiffstats
path: root/api
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2018-05-14 10:24:58 -0400
committerGitHub <noreply@github.com>2018-05-14 10:24:58 -0400
commit47250c6629416b628a19e5571ac89f7b4646418c (patch)
tree0ccfd50e06af7293e0f9e27c2d1c1200efa78a6a /api
parent7e7c55198719337e7cb39b07c0d5a48c0a6908de (diff)
downloadchat-47250c6629416b628a19e5571ac89f7b4646418c.tar.gz
chat-47250c6629416b628a19e5571ac89f7b4646418c.tar.bz2
chat-47250c6629416b628a19e5571ac89f7b4646418c.zip
Refactor context out of API packages (#8755)
* Refactor context out of API packages * Update function names per feedback * Move webhook handlers to web and fix web tests * Move more webhook tests out of api package * Fix static handler
Diffstat (limited to 'api')
-rw-r--r--api/webhook_test.go154
1 files changed, 0 insertions, 154 deletions
diff --git a/api/webhook_test.go b/api/webhook_test.go
index 0b3073f83..c9ca7d783 100644
--- a/api/webhook_test.go
+++ b/api/webhook_test.go
@@ -4,8 +4,6 @@
package api
import (
- "fmt"
- "net/http"
"testing"
"github.com/mattermost/mattermost-server/model"
@@ -968,155 +966,3 @@ func TestRegenOutgoingHookToken(t *testing.T) {
t.Fatal("should have errored - webhooks turned off")
}
}
-
-func TestIncomingWebhooks(t *testing.T) {
- th := Setup().InitBasic().InitSystemAdmin()
- defer th.TearDown()
-
- Client := th.SystemAdminClient
- team := th.SystemAdminTeam
- channel1 := th.CreateChannel(Client, team)
- user2 := th.CreateUser(Client)
- th.LinkUserToTeam(user2, team)
-
- th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableIncomingWebhooks = true })
-
- hook := &model.IncomingWebhook{ChannelId: channel1.Id}
- hook = Client.Must(Client.CreateIncomingWebhook(hook)).Data.(*model.IncomingWebhook)
-
- url := "/hooks/" + hook.Id
- text := `this is a \"test\"
- that contains a newline and a tab`
-
- if _, err := Client.DoPost(url, "{\"text\":\"this is a test\"}", "application/json"); err != nil {
- t.Fatal(err)
- }
-
- if _, err := Client.DoPost(url, "{\"text\":\""+text+"\"}", "application/json"); err != nil {
- t.Fatal(err)
- }
-
- if _, err := Client.DoPost(url, fmt.Sprintf("{\"text\":\"this is a test\", \"channel\":\"%s\"}", channel1.Name), "application/json"); err != nil {
- t.Fatal(err)
- }
-
- if _, err := Client.DoPost(url, fmt.Sprintf("{\"text\":\"this is a test\", \"channel\":\"#%s\"}", channel1.Name), "application/json"); err != nil {
- t.Fatal(err)
- }
-
- if _, err := Client.DoPost(url, fmt.Sprintf("{\"text\":\"this is a test\", \"channel\":\"@%s\"}", user2.Username), "application/json"); err != nil {
- t.Fatal(err)
- }
-
- if _, err := Client.DoPost(url, "payload={\"text\":\"this is a test\"}", "application/x-www-form-urlencoded"); err != nil {
- t.Fatal(err)
- }
-
- if _, err := Client.DoPost(url, "payload={\"text\":\""+text+"\"}", "application/x-www-form-urlencoded"); err != nil {
- t.Fatal(err)
- }
-
- if _, err := th.BasicClient.DoPost(url, fmt.Sprintf("{\"text\":\"this is a test\", \"channel\":\"%s\"}", model.DEFAULT_CHANNEL), "application/json"); err != nil {
- t.Fatal("should not have failed -- ExperimentalTownSquareIsReadOnly is false and it's not a read only channel")
- }
-
- th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.ExperimentalTownSquareIsReadOnly = true })
- th.App.SetLicense(model.NewTestLicense())
-
- if _, err := th.BasicClient.DoPost(url, fmt.Sprintf("{\"text\":\"this is a test\", \"channel\":\"%s\"}", model.DEFAULT_CHANNEL), "application/json"); err == nil {
- t.Fatal("should have failed -- ExperimentalTownSquareIsReadOnly is true and it's a read only channel")
- }
-
- attachmentPayload := `{
- "text": "this is a test",
- "attachments": [
- {
- "fallback": "Required plain-text summary of the attachment.",
-
- "color": "#36a64f",
-
- "pretext": "Optional text that appears above the attachment block",
-
- "author_name": "Bobby Tables",
- "author_link": "http://flickr.com/bobby/",
- "author_icon": "http://flickr.com/icons/bobby.jpg",
-
- "title": "Slack API Documentation",
- "title_link": "https://api.slack.com/",
-
- "text": "Optional text that appears within the attachment",
-
- "fields": [
- {
- "title": "Priority",
- "value": "High",
- "short": false
- }
- ],
-
- "image_url": "http://my-website.com/path/to/image.jpg",
- "thumb_url": "http://example.com/path/to/thumb.png"
- }
- ]
- }`
-
- if _, err := Client.DoPost(url, attachmentPayload, "application/json"); err != nil {
- t.Fatal(err)
- }
-
- if _, err := Client.DoPost(url, "{\"text\":\"\"}", "application/json"); err == nil || err.StatusCode != http.StatusBadRequest {
- t.Fatal("should have failed - no text")
- }
-
- tooLongText := ""
- for i := 0; i < 8200; i++ {
- tooLongText += "a"
- }
-
- if _, err := Client.DoPost(url, "{\"text\":\""+tooLongText+"\"}", "application/json"); err != nil {
- t.Fatal(err)
- }
-
- attachmentPayload = `{
- "text": "this is a test",
- "attachments": [
- {
- "fallback": "Required plain-text summary of the attachment.",
-
- "color": "#36a64f",
-
- "pretext": "Optional text that appears above the attachment block",
-
- "author_name": "Bobby Tables",
- "author_link": "http://flickr.com/bobby/",
- "author_icon": "http://flickr.com/icons/bobby.jpg",
-
- "title": "Slack API Documentation",
- "title_link": "https://api.slack.com/",
-
- "text": "` + tooLongText + `",
-
- "fields": [
- {
- "title": "Priority",
- "value": "High",
- "short": false
- }
- ],
-
- "image_url": "http://my-website.com/path/to/image.jpg",
- "thumb_url": "http://example.com/path/to/thumb.png"
- }
- ]
- }`
-
- if _, err := Client.DoPost(url, attachmentPayload, "application/json"); err != nil {
- t.Fatal(err)
- }
-
- th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableIncomingWebhooks = false })
-
- if _, err := Client.DoPost(url, "{\"text\":\"this is a test\"}", "application/json"); err == nil {
- t.Fatal("should have failed - webhooks turned off")
- }
-}