From 619f0ebf5cbb02cceeb00ef3661913c3c50c9b05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Espino?= Date: Tue, 6 Aug 2019 11:06:20 +0200 Subject: [PATCH] Invalidate Guest invites too on invalidate email invates (#11696) * Invalidate Guest invites too on invalidate invates * Adding tests for invalidate email invites --- app/team.go | 3 +++ app/team_test.go | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) diff --git a/app/team.go b/app/team.go index 7bb632ee4c..efae735732 100644 --- a/app/team.go +++ b/app/team.go @@ -1430,5 +1430,8 @@ func (a *App) InvalidateAllEmailInvites() *model.AppError { if err := a.Srv.Store.Token().RemoveAllTokensByType(TOKEN_TYPE_TEAM_INVITATION); err != nil { return model.NewAppError("InvalidateAllEmailInvites", "api.team.invalidate_all_email_invites.app_error", nil, err.Error(), http.StatusBadRequest) } + if err := a.Srv.Store.Token().RemoveAllTokensByType(TOKEN_TYPE_GUEST_INVITATION); err != nil { + return model.NewAppError("InvalidateAllEmailInvites", "api.team.invalidate_all_email_invites.app_error", nil, err.Error(), http.StatusBadRequest) + } return nil } diff --git a/app/team_test.go b/app/team_test.go index fe150f1cce..88280cdce6 100644 --- a/app/team_test.go +++ b/app/team_test.go @@ -943,3 +943,47 @@ func TestUpdateTeamMemberRolesChangingGuest(t *testing.T) { } }) } + +func TestInvalidateAllEmailInvites(t *testing.T) { + th := Setup(t).InitBasic() + defer th.TearDown() + + t1 := model.Token{ + Token: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + CreateAt: model.GetMillis(), + Type: TOKEN_TYPE_GUEST_INVITATION, + Extra: "", + } + err := th.App.Srv.Store.Token().Save(&t1) + require.Nil(t, err) + + t2 := model.Token{ + Token: "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy", + CreateAt: model.GetMillis(), + Type: TOKEN_TYPE_TEAM_INVITATION, + Extra: "", + } + err = th.App.Srv.Store.Token().Save(&t2) + require.Nil(t, err) + + t3 := model.Token{ + Token: "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", + CreateAt: model.GetMillis(), + Type: "other", + Extra: "", + } + err = th.App.Srv.Store.Token().Save(&t3) + require.Nil(t, err) + + err = th.App.InvalidateAllEmailInvites() + require.Nil(t, err) + + _, err = th.App.Srv.Store.Token().GetByToken(t1.Token) + require.NotNil(t, err) + + _, err = th.App.Srv.Store.Token().GetByToken(t2.Token) + require.NotNil(t, err) + + _, err = th.App.Srv.Store.Token().GetByToken(t3.Token) + require.Nil(t, err) +}