app/django/contrib/auth/tests/tokens.py
author Pawel Solyga <Pawel.Solyga@gmail.com>
Sun, 08 Mar 2009 21:59:57 +0000
changeset 1759 94b64c07f7ce
parent 323 ff1a9aa48cfd
permissions -rw-r--r--
Revert r2376 since it's not needed as discussed in Issue 188. http://code.google.com/p/soc/issues/detail?id=188 Patch by: Pawel Solyga Reviewed by: to-be-reviewed

TOKEN_GENERATOR_TESTS = """
>>> from django.contrib.auth.models import User, AnonymousUser
>>> from django.contrib.auth.tokens import PasswordResetTokenGenerator
>>> from django.conf import settings
>>> u = User.objects.create_user('tokentestuser', 'test2@example.com', 'testpw')
>>> p0 = PasswordResetTokenGenerator()
>>> tk1 = p0.make_token(u)
>>> p0.check_token(u, tk1)
True

Tests to ensure we can use the token after n days, but no greater.
Use a mocked version of PasswordResetTokenGenerator so we can change
the value of 'today'

>>> class Mocked(PasswordResetTokenGenerator):
...     def __init__(self, today):
...         self._today_val = today
...     def _today(self):
...         return self._today_val

>>> from datetime import date, timedelta
>>> p1 = Mocked(date.today() + timedelta(settings.PASSWORD_RESET_TIMEOUT_DAYS))
>>> p1.check_token(u, tk1)
True
>>> p2 = Mocked(date.today() + timedelta(settings.PASSWORD_RESET_TIMEOUT_DAYS + 1))
>>> p2.check_token(u, tk1)
False

"""