From ab13de96a053123e6f73ffddb763e0fe96e0f6ed Mon Sep 17 00:00:00 2001 From: George Goldberg Date: Wed, 9 Aug 2017 21:36:27 +0100 Subject: PLT-7288: Allow CLI to delete teams with no channels. (#7135) --- app/team.go | 4 +++- app/team_test.go | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/app/team.go b/app/team.go index e4a71d7d5..b479ed134 100644 --- a/app/team.go +++ b/app/team.go @@ -735,7 +735,9 @@ func PermanentDeleteTeam(team *model.Team) *model.AppError { } if result := <-Srv.Store.Channel().GetTeamChannels(team.Id); result.Err != nil { - return result.Err + if result.Err.Id != "store.sql_channel.get_channels.not_found.app_error" { + return result.Err + } } else { channels := result.Data.(*model.ChannelList) for _, c := range *channels { diff --git a/app/team_test.go b/app/team_test.go index a410d6652..4e0ea82f5 100644 --- a/app/team_test.go +++ b/app/team_test.go @@ -152,4 +152,24 @@ func TestPermanentDeleteTeam(t *testing.T) { if command, err = GetCommand(command.Id); command != nil || err == nil { t.Fatal("command wasn't deleted") } + + // Test deleting a team with no channels. + team = th.CreateTeam() + defer func() { + PermanentDeleteTeam(team) + }() + + if channels, err := GetPublicChannelsForTeam(team.Id, 0, 1000); err != nil { + t.Fatal(err) + } else { + for _, channel := range *channels { + if err2 := PermanentDeleteChannel(channel); err2 != nil { + t.Fatal(err) + } + } + } + + if err := PermanentDeleteTeam(team); err != nil { + t.Fatal(err) + } } -- cgit v1.2.3-1-g7c22