summaryrefslogtreecommitdiffstats
path: root/web/web_test.go
diff options
context:
space:
mode:
author=Corey Hulen <corey@hulen.com>2015-09-22 13:18:42 -0700
committer=Corey Hulen <corey@hulen.com>2015-09-22 13:18:42 -0700
commit6e60768abe6f0caa639febf068d718d62881ce62 (patch)
tree0600c72a7a9a3f7c1df167b3f870b38863e9a564 /web/web_test.go
parente22e7b8b7b66f342c2df693bbfc06a85980d253e (diff)
parentac7918c5540900ab0dbe43d61b8c1155e4279b55 (diff)
downloadchat-6e60768abe6f0caa639febf068d718d62881ce62.tar.gz
chat-6e60768abe6f0caa639febf068d718d62881ce62.tar.bz2
chat-6e60768abe6f0caa639febf068d718d62881ce62.zip
Fixing merge conflict
Diffstat (limited to 'web/web_test.go')
-rw-r--r--web/web_test.go45
1 files changed, 45 insertions, 0 deletions
diff --git a/web/web_test.go b/web/web_test.go
index c1d5dd6f9..165c2ba09 100644
--- a/web/web_test.go
+++ b/web/web_test.go
@@ -180,6 +180,51 @@ func TestGetAccessToken(t *testing.T) {
}
}
+func TestIncomingWebhook(t *testing.T) {
+ Setup()
+
+ team := &model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN}
+ team = ApiClient.Must(ApiClient.CreateTeam(team)).Data.(*model.Team)
+
+ user := &model.User{TeamId: team.Id, Email: model.NewId() + "corey@test.com", Nickname: "Corey Hulen", Password: "pwd"}
+ user = ApiClient.Must(ApiClient.CreateUser(user, "")).Data.(*model.User)
+ store.Must(api.Srv.Store.User().VerifyEmail(user.Id))
+
+ ApiClient.LoginByEmail(team.Name, user.Email, "pwd")
+
+ channel1 := &model.Channel{DisplayName: "Test API Name", Name: "a" + model.NewId() + "a", Type: model.CHANNEL_OPEN, TeamId: team.Id}
+ channel1 = ApiClient.Must(ApiClient.CreateChannel(channel1)).Data.(*model.Channel)
+
+ if utils.Cfg.ServiceSettings.EnableIncomingWebhooks {
+ hook1 := &model.IncomingWebhook{ChannelId: channel1.Id}
+ hook1 = ApiClient.Must(ApiClient.CreateIncomingWebhook(hook1)).Data.(*model.IncomingWebhook)
+
+ payload := "payload={\"text\": \"test text\"}"
+ if _, err := ApiClient.PostToWebhook(hook1.Id, payload); err != nil {
+ t.Fatal(err)
+ }
+
+ payload = "payload={\"text\": \"\"}"
+ if _, err := ApiClient.PostToWebhook(hook1.Id, payload); err == nil {
+ t.Fatal("should have errored - no text to post")
+ }
+
+ payload = "payload={\"text\": \"test text\", \"channel\": \"junk\"}"
+ if _, err := ApiClient.PostToWebhook(hook1.Id, payload); err == nil {
+ t.Fatal("should have errored - bad channel")
+ }
+
+ payload = "payload={\"text\": \"test text\"}"
+ if _, err := ApiClient.PostToWebhook("abc123", payload); err == nil {
+ t.Fatal("should have errored - bad hook")
+ }
+ } else {
+ if _, err := ApiClient.PostToWebhook("123", "123"); err == nil {
+ t.Fatal("should have failed - webhooks turned off")
+ }
+ }
+}
+
func TestZZWebTearDown(t *testing.T) {
// *IMPORTANT*
// This should be the last function in any test file