def test_expired(self): """The expired manager returns expired tokens""" # create a user u = User() u.is_active = True u.save() # create some tokens t1 = Token() t1.user = u t1.expires = dt(2011, 1, 1, 1, 1, 1) t1.save() t2 = Token() t2.user = u t2.expires = dt(2011, 1, 1, 1, 1, 1) t2.save() # expired returns 2 self.assertEqual(2, Token.objects.expired().count()) # update t2 t2.expires = dt(2013, 1, 1, 1, 1, 1) t2.save() # now we have only one expired self.assertEqual(1, Token.objects.expired().count())
def test_command(self): """the management command deletes expired tokens""" # create a user u = User() u.is_active = True u.save() # create some tokens t1 = Token() t1.user = u t1.expires = dt(2011, 1, 1, 1, 1, 1) t1.save() t2 = Token() t2.user = u t2.expires = dt(2011, 1, 1, 1, 1, 1) t2.save() t3 = Token() t3.user = u t3.expires = dt(2013, 1, 1, 1, 1, 1) t3.save() # call the managemet command call_command("zeropass_cleanup") # we have none self.assertEqual(1, Token.objects.count())
def test_no_match_expired(self): """if a token is expired no match is return""" # make a user u = User() u.is_active = True u.email = '*****@*****.**' u.save() # make a token with expires in past t = Token() t.expires = dt.now() - td(seconds=300) t.user = u t.save() # send te tokem through the backend and get user back user = authenticate(token=t.token) # user is None self.assertEqual(user, None)
def save(self): token = Token() token.user = self.user token.next = self.cleaned_data.get("next") token.expires = datetime.now() + timedelta(seconds=conf.EXPIRES) token.save()