Invalidate Guest invites too on invalidate email invates (#11696)

* Invalidate Guest invites too on invalidate invates

* Adding tests for invalidate email invites
This commit is contained in:
Jesús Espino
2019-08-06 11:06:20 +02:00
committed by GitHub
parent c927fb9d50
commit 619f0ebf5c
2 changed files with 47 additions and 0 deletions

View File

@@ -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
}

View File

@@ -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)
}