Esempio n. 1
0
    def test_create_token_string_token_arg(self):
        from auth_remember.models import RememberToken
        from auth_remember.utils import create_token_string

        value = create_token_string(self.user)
        token = RememberToken.objects.get_by_string(value)

        time.sleep(0.1)
        new_value = create_token_string(self.user, token)
        new_token = RememberToken.objects.get_by_string(new_value)
        self.assertEqual(new_token.created_initial, token.created)
        self.assertTrue(new_token.created > token.created)
Esempio n. 2
0
    def test_create_token_string_token_arg(self):
        from auth_remember.models import RememberToken
        from auth_remember.utils import create_token_string

        value = create_token_string(self.user)
        token = RememberToken.objects.get_by_string(value)

        time.sleep(0.1)
        new_value = create_token_string(self.user, token)
        new_token = RememberToken.objects.get_by_string(new_value)
        self.assertEqual(new_token.created_initial, token.created)
        self.assertTrue(new_token.created > token.created)
Esempio n. 3
0
    def test_middleware_update_token(self):
        from auth_remember.middleware import AuthRememberMiddleware
        from auth_remember.models import RememberToken
        from auth_remember.settings import COOKIE_NAME
        from auth_remember.utils import create_token_string

        request = self.factory.get('/')
        request.user = AnonymousUser()

        value = create_token_string(self.user)
        request.COOKIES[COOKIE_NAME] = value

        SessionMiddleware().process_request(request)
        AuthRememberMiddleware().process_request(request)
        self.assertEqual(request.user, self.user)

        # Remember me token should be deleted
        self.assertFalse(RememberToken.objects.get_by_string(value))

        # Create response
        response = HttpResponse("Test response")
        AuthRememberMiddleware().process_response(request, response)

        # The remember-me token should be changed
        token_string = response.cookies[COOKIE_NAME].value
        self.assertFalse(token_string == value)
        self.assertTrue(RememberToken.objects.get_by_string(token_string))
Esempio n. 4
0
    def test_middleware_update_token(self):
        from auth_remember.middleware import AuthRememberMiddleware
        from auth_remember.models import RememberToken
        from auth_remember.settings import COOKIE_NAME
        from auth_remember.utils import create_token_string

        request = self.factory.get('/')
        request.user = AnonymousUser()

        value = create_token_string(self.user)
        request.COOKIES[COOKIE_NAME] = value

        SessionMiddleware().process_request(request)
        AuthRememberMiddleware().process_request(request)
        self.assertEqual(request.user, self.user)

        # Remember me token should be deleted
        self.assertFalse(RememberToken.objects.get_by_string(value))

        # Create response
        response = HttpResponse("Test response")
        AuthRememberMiddleware().process_response(request, response)

        # The remember-me token should be changed
        token_string = response.cookies[COOKIE_NAME].value
        self.assertFalse(token_string == value)
        self.assertTrue(RememberToken.objects.get_by_string(token_string))
Esempio n. 5
0
    def test_get_by_token_string(self):
        from auth_remember.models import RememberToken
        from auth_remember.utils import create_token_string

        value = create_token_string(self.user)
        token = RememberToken.objects.get_by_string(value)

        self.assertEqual(token.user, self.user)
Esempio n. 6
0
    def test_get_by_token_string(self):
        from auth_remember.models import RememberToken
        from auth_remember.utils import create_token_string

        value = create_token_string(self.user)
        token = RememberToken.objects.get_by_string(value)

        self.assertEqual(token.user, self.user)
Esempio n. 7
0
def remember_user(request, user):
    """Set the remember-me flag on the user.

    A token is automatically generated and stored in the user's session.
    This token is set as a cookie value by the middleware.

    """
    token_string = create_token_string(user, None)
    preset_cookie(request, token_string)
Esempio n. 8
0
    def test_auth_backend(self):
        from auth_remember import middleware  # Register signals
        from auth_remember.utils import create_token_string

        value = create_token_string(self.user)

        request = self.factory.get('/')
        SessionMiddleware().process_request(request)
        user = auth.authenticate(token_string=value, request=request)
        auth.login(request, user)

        self.assertEqual(user, self.user)
        self.assertFalse(user.is_fresh)
Esempio n. 9
0
    def test_auth_backend(self):
        from auth_remember import middleware  # Register signals
        from auth_remember.utils import create_token_string

        value = create_token_string(self.user)

        request = self.factory.get('/')
        SessionMiddleware().process_request(request)
        user = auth.authenticate(token_string=value, request=request)
        auth.login(request, user)

        self.assertEqual(user, self.user)
        self.assertFalse(user.is_fresh)
Esempio n. 10
0
    def authenticate(self, token_string, request):
        """Return the user associated with the given token."""
        token = RememberToken.objects.get_by_string(token_string)
        if not token:
            return
        user = token.user

        # Create new token cookie value and delete current token
        token_string = utils.create_token_string(user, token)
        utils.preset_cookie(request, token_string)
        token.delete()

        user._auth_remember_user = True
        return user
Esempio n. 11
0
    def test_create_token_string(self):
        from auth_remember.utils import create_token_string

        value = create_token_string(self.user)
        self.assertTrue(value.startswith('%d:' % self.user.id))
Esempio n. 12
0
    def test_create_token_string(self):
        from auth_remember.utils import create_token_string

        value = create_token_string(self.user)
        self.assertTrue(value.startswith('%d:' % self.user.id))