def test_generate_token_generator_from_empty_settings(self): """ If there is no setting for DJANGO_REST_PASSWORDRESET_TOKEN_CONFIG, a RandomStringTokenGenerator should be created automatically by get_token_generator() :return: """ # patch settings settings.DJANGO_REST_PASSWORDRESET_TOKEN_CONFIG = None token_generator = get_token_generator() self.assertEquals( token_generator.__class__, RandomStringTokenGenerator, msg="If no class is set in DJANGO_REST_PASSWORDRESET_TOKEN_CONFIG, a RandomStringTokenGenerator should" "be created" )
def test_generate_token_generator_from_settings_string_token_generator(self): """ Checks if the get_token_generator() function uses the "CLASS" setting in DJANGO_REST_PASSWORDRESET_TOKEN_CONFIG :return: """ # patch settings settings.DJANGO_REST_PASSWORDRESET_TOKEN_CONFIG = { "CLASS": "django_rest_passwordreset.tokens.RandomStringTokenGenerator" } token_generator = get_token_generator() self.assertEquals( token_generator.__class__, RandomStringTokenGenerator, msg="get_token_generator() should return an instance of RandomStringTokenGenerator " "if configured in settings" )
def generate_key(): """ generates a pseudo random code using os.urandom and binascii.hexlify """ return get_token_generator().generate_token()
from django.db import models from django.utils.encoding import python_2_unicode_compatible from django.utils.translation import ugettext_lazy as _ from django.contrib.auth import get_user_model from django_rest_passwordreset.tokens import get_token_generator # Prior to Django 1.5, the AUTH_USER_MODEL setting does not exist. # Note that we don't perform this code in the compat module due to # bug report #1297 # See: https://github.com/tomchristie/django-rest-framework/issues/1297 AUTH_USER_MODEL = getattr(settings, 'AUTH_USER_MODEL', 'auth.User') # get the token generator class TOKEN_GENERATOR_CLASS = get_token_generator() __all__ = [ 'ResetPasswordToken', 'get_password_reset_token_expiry_time', 'get_password_reset_lookup_field', 'clear_expired', ] @python_2_unicode_compatible class ResetPasswordToken(models.Model): class Meta: verbose_name = _("Password Reset Token") verbose_name_plural = _("Password Reset Tokens")
def generate_key(): return get_token_generator().generate_token()
def generate_code(): return get_token_generator().generate_token()