From a3f5cffd4693446eecdc6f88ed336a4c35c1e708 Mon Sep 17 00:00:00 2001 From: Saturnino Abril Date: Sat, 8 Apr 2017 02:06:09 +0900 Subject: APIv4 PUT /commands/{command_id} (#5999) * APIv4 PUT /commands/{command_id} * update client parameter and api4 test --- api4/command_test.go | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 87 insertions(+), 1 deletion(-) (limited to 'api4/command_test.go') 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() -- cgit v1.2.3-1-g7c22