From 72f61ab96aabf65c162c8d94b5b843b5108ee1a9 Mon Sep 17 00:00:00 2001 From: Chris Date: Mon, 31 Jul 2017 08:52:45 -0700 Subject: make cli team / channel delete operations also delete webhooks and slash commands (#7028) --- app/channel_test.go | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 app/channel_test.go (limited to 'app/channel_test.go') diff --git a/app/channel_test.go b/app/channel_test.go new file mode 100644 index 000000000..438eb959b --- /dev/null +++ b/app/channel_test.go @@ -0,0 +1,66 @@ +package app + +import ( + "testing" + + "github.com/mattermost/platform/model" + "github.com/mattermost/platform/utils" +) + +func TestPermanentDeleteChannel(t *testing.T) { + th := Setup().InitBasic() + + incomingWasEnabled := utils.Cfg.ServiceSettings.EnableIncomingWebhooks + outgoingWasEnabled := utils.Cfg.ServiceSettings.EnableOutgoingWebhooks + utils.Cfg.ServiceSettings.EnableIncomingWebhooks = true + utils.Cfg.ServiceSettings.EnableOutgoingWebhooks = true + defer func() { + utils.Cfg.ServiceSettings.EnableIncomingWebhooks = incomingWasEnabled + utils.Cfg.ServiceSettings.EnableOutgoingWebhooks = outgoingWasEnabled + }() + + channel, err := CreateChannel(&model.Channel{DisplayName: "deletion-test", Name: "deletion-test", Type: model.CHANNEL_OPEN, TeamId: th.BasicTeam.Id}, false) + if err != nil { + t.Fatal(err.Error()) + } + defer func() { + PermanentDeleteChannel(channel) + }() + + incoming, err := CreateIncomingWebhookForChannel(th.BasicUser.Id, channel, &model.IncomingWebhook{ChannelId: channel.Id}) + if err != nil { + t.Fatal(err.Error()) + } + defer DeleteIncomingWebhook(incoming.Id) + + if incoming, err = GetIncomingWebhook(incoming.Id); incoming == nil || err != nil { + t.Fatal("unable to get new incoming webhook") + } + + outgoing, err := CreateOutgoingWebhook(&model.OutgoingWebhook{ + ChannelId: channel.Id, + TeamId: channel.TeamId, + CreatorId: th.BasicUser.Id, + CallbackURLs: []string{"http://foo"}, + }) + if err != nil { + t.Fatal(err.Error()) + } + defer DeleteOutgoingWebhook(outgoing.Id) + + if outgoing, err = GetOutgoingWebhook(outgoing.Id); outgoing == nil || err != nil { + t.Fatal("unable to get new outgoing webhook") + } + + if err := PermanentDeleteChannel(channel); err != nil { + t.Fatal(err.Error()) + } + + if incoming, err = GetIncomingWebhook(incoming.Id); incoming != nil || err == nil { + t.Error("incoming webhook wasn't deleted") + } + + if outgoing, err = GetOutgoingWebhook(outgoing.Id); outgoing != nil || err == nil { + t.Error("outgoing webhook wasn't deleted") + } +} -- cgit v1.2.3-1-g7c22