Users: Expire old user invites (#27361)
* expire with existng cleanup service * expire with new temp user service * make Drone happy :) * add expiry status * remove other approach * cleanup * add test for idempotency * add migration from datetime to unix ts * update cmd names * change lifetime config to duration * remove unnecessart formatting * add comment * update docs * remove max bound and introduce min error * simplify sql * remove comment * allow any outstanding to exist for at least 24 hours * revert created ts change Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com> * add extra state check to cleanup step Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
This commit is contained in:
co-authored by
Marcus Efraimsson
parent
8e56dd0279
commit
a189cd1832
@@ -53,8 +53,8 @@ func TestTempUserCommandsAndQueries(t *testing.T) {
|
||||
})
|
||||
|
||||
Convey("Should be able update email sent and email sent on", func() {
|
||||
cmd3 := models.UpdateTempUserWithEmailSentCommand{Code: cmd.Result.Code}
|
||||
err := UpdateTempUserWithEmailSent(&cmd3)
|
||||
cmd2 := models.UpdateTempUserWithEmailSentCommand{Code: cmd.Result.Code}
|
||||
err := UpdateTempUserWithEmailSent(&cmd2)
|
||||
So(err, ShouldBeNil)
|
||||
|
||||
query := models.GetTempUsersQuery{OrgId: 2256, Status: models.TmpUserInvitePending}
|
||||
@@ -62,7 +62,21 @@ func TestTempUserCommandsAndQueries(t *testing.T) {
|
||||
|
||||
So(err, ShouldBeNil)
|
||||
So(query.Result[0].EmailSent, ShouldBeTrue)
|
||||
So(query.Result[0].EmailSentOn, ShouldHappenOnOrAfter, (query.Result[0].Created))
|
||||
So(query.Result[0].EmailSentOn.UTC(), ShouldHappenOnOrAfter, query.Result[0].Created.UTC())
|
||||
})
|
||||
|
||||
Convey("Should be able expire temp user", func() {
|
||||
cmd2 := models.ExpireTempUsersCommand{OlderThan: timeNow()}
|
||||
err := ExpireOldUserInvites(&cmd2)
|
||||
So(err, ShouldBeNil)
|
||||
So(cmd2.NumExpired, ShouldEqual, 1)
|
||||
|
||||
Convey("Should do nothing when no temp users to expire", func() {
|
||||
cmd2 = models.ExpireTempUsersCommand{OlderThan: timeNow()}
|
||||
err := ExpireOldUserInvites(&cmd2)
|
||||
So(err, ShouldBeNil)
|
||||
So(cmd2.NumExpired, ShouldEqual, 0)
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user