diff options
author | Saturnino Abril <saturnino.abril@gmail.com> | 2017-04-08 02:06:09 +0900 |
---|---|---|
committer | Corey Hulen <corey@hulen.com> | 2017-04-07 10:06:09 -0700 |
commit | a3f5cffd4693446eecdc6f88ed336a4c35c1e708 (patch) | |
tree | 3c2a1987e308f07df65f81d85a8a19ebf34cbdba /api4/command_test.go | |
parent | f7b39caf318cf0839c7889d615cbc3ab16c285b2 (diff) | |
download | chat-a3f5cffd4693446eecdc6f88ed336a4c35c1e708.tar.gz chat-a3f5cffd4693446eecdc6f88ed336a4c35c1e708.tar.bz2 chat-a3f5cffd4693446eecdc6f88ed336a4c35c1e708.zip |
APIv4 PUT /commands/{command_id} (#5999)
* APIv4 PUT /commands/{command_id}
* update client parameter and api4 test
Diffstat (limited to 'api4/command_test.go')
-rw-r--r-- | api4/command_test.go | 88 |
1 files changed, 87 insertions, 1 deletions
diff --git a/api4/command_test.go b/api4/command_test.go index 75842886c..35fc0a3d5 100644 --- a/api4/command_test.go +++ b/api4/command_test.go @@ -5,8 +5,8 @@ package api4 import ( "testing" - // "time" + "github.com/mattermost/platform/app" "github.com/mattermost/platform/model" "github.com/mattermost/platform/utils" ) @@ -60,6 +60,92 @@ func TestCreateCommand(t *testing.T) { CheckErrorMessage(t, resp, "api.command.disabled.app_error") } +func TestUpdateCommand(t *testing.T) { + th := Setup().InitBasic().InitSystemAdmin() + defer TearDown() + Client := th.SystemAdminClient + user := th.SystemAdminUser + team := th.BasicTeam + + enableCommands := *utils.Cfg.ServiceSettings.EnableCommands + defer func() { + utils.Cfg.ServiceSettings.EnableCommands = &enableCommands + }() + *utils.Cfg.ServiceSettings.EnableCommands = true + + cmd1 := &model.Command{ + CreatorId: user.Id, + TeamId: team.Id, + URL: "http://nowhere.com", + Method: model.COMMAND_METHOD_POST, + Trigger: "trigger1", + } + + cmd1, _ = app.CreateCommand(cmd1) + + cmd2 := &model.Command{ + CreatorId: GenerateTestId(), + TeamId: team.Id, + URL: "http://nowhere.com/change", + Method: model.COMMAND_METHOD_GET, + Trigger: "trigger2", + Id: cmd1.Id, + Token: "tokenchange", + } + + rcmd, resp := Client.UpdateCommand(cmd2) + CheckNoError(t, resp) + + if rcmd.Trigger != cmd2.Trigger { + t.Fatal("Trigger should have updated") + } + + if rcmd.Method != cmd2.Method { + t.Fatal("Method should have updated") + } + + if rcmd.URL != cmd2.URL { + t.Fatal("URL should have updated") + } + + if rcmd.CreatorId != cmd1.CreatorId { + t.Fatal("CreatorId should have not updated") + } + + if rcmd.Token != cmd1.Token { + t.Fatal("Token should have not updated") + } + + cmd2.Id = GenerateTestId() + + rcmd, resp = Client.UpdateCommand(cmd2) + CheckNotFoundStatus(t, resp) + + if rcmd != nil { + t.Fatal("should be empty") + } + + cmd2.Id = "junk" + + _, resp = Client.UpdateCommand(cmd2) + CheckBadRequestStatus(t, resp) + + cmd2.Id = cmd1.Id + cmd2.TeamId = GenerateTestId() + + _, resp = Client.UpdateCommand(cmd2) + CheckBadRequestStatus(t, resp) + + cmd2.TeamId = team.Id + + _, resp = th.Client.UpdateCommand(cmd2) + CheckForbiddenStatus(t, resp) + + Client.Logout() + _, resp = Client.UpdateCommand(cmd2) + CheckUnauthorizedStatus(t, resp) +} + func TestListCommands(t *testing.T) { th := Setup().InitBasic().InitSystemAdmin() defer TearDown() |