Example #1
0
 def test_renewal_to_log_out(self):
     self.auth0_renew.side_effect = lambda x: None
     user = User.objects.create(email='*****@*****.**')
     UserProfile.objects.create(user=user, id_token='12345.6789.01234')
     request = self._get_request()
     request.user = user
     middleware = ValidateIDToken()
     result = middleware.process_request(request)
     # Redirected to the sign in page
     ok_(isinstance(result, http.HttpResponseRedirect))
     eq_(result.url, reverse('authentication:signin'))
Example #2
0
 def test_renewal_to_log_out(self):
     self.auth0_renew.side_effect = lambda x: None
     user = User.objects.create(email='*****@*****.**')
     UserProfile.objects.create(
         user=user,
         id_token='12345.6789.01234'
     )
     request = self._get_request()
     request.user = user
     middleware = ValidateIDToken()
     result = middleware.process_request(request)
     # Redirected to the sign in page
     ok_(isinstance(result, http.HttpResponseRedirect))
     eq_(result.url, reverse('authentication:signin'))
Example #3
0
    def test_renew_successfully(self):
        self.auth0_renew.side_effect = lambda x: '000.111.222'
        user = User.objects.create(email='*****@*****.**')
        user_profile = UserProfile.objects.create(user=user,
                                                  id_token='12345.6789.01234')
        request = self._get_request()
        request.user = user
        middleware = ValidateIDToken()
        result = middleware.process_request(request)
        eq_(result, None)
        user_profile = UserProfile.objects.get(id=user_profile.id)
        eq_(user_profile.id_token, '000.111.222')

        # The result of that is cached, so even if we change our mock
        # function, it wouldn't be called
        def not_called():
            raise AssertionError

        self.auth0_renew.side_effect = not_called
        result = middleware.process_request(request)
        eq_(result, None)
Example #4
0
    def test_renew_successfully(self):
        self.auth0_renew.side_effect = lambda x: '000.111.222'
        user = User.objects.create(email='*****@*****.**')
        user_profile = UserProfile.objects.create(
            user=user,
            id_token='12345.6789.01234'
        )
        request = self._get_request()
        request.user = user
        middleware = ValidateIDToken()
        result = middleware.process_request(request)
        eq_(result, None)
        user_profile = UserProfile.objects.get(id=user_profile.id)
        eq_(user_profile.id_token, '000.111.222')

        # The result of that is cached, so even if we change our mock
        # function, it wouldn't be called
        def not_called():
            raise AssertionError

        self.auth0_renew.side_effect = not_called
        result = middleware.process_request(request)
        eq_(result, None)
Example #5
0
    def test_reasons_not_check(self):
        def not_called():
            raise AssertionError

        self.auth0_renew.side_effect = not_called
        user = User.objects.create(email='*****@*****.**')
        UserProfile.objects.create(
            user=user,
            id_token='12345.6789.01234'
        )

        # Doesn't kick in on post requests
        request = self._get_request(post=True)
        request.user = user
        middleware = ValidateIDToken()
        result = middleware.process_request(request)
        eq_(result, None)

        # Or AJAX requests
        request = self._get_request(HTTP_X_REQUESTED_WITH='XMLHttpRequest')
        request.user = user
        middleware = ValidateIDToken()
        result = middleware.process_request(request)
        eq_(result, None)

        # Or if you're not active anyway
        user.is_active = False
        request = self._get_request()
        request.user = user
        middleware = ValidateIDToken()
        result = middleware.process_request(request)
        eq_(result, None)

        # Or if you're anonymous
        request = self._get_request()
        request.user = AnonymousUser()
        middleware = ValidateIDToken()
        result = middleware.process_request(request)
        eq_(result, None)

        # Or if you're on the authentication callback URL
        user.is_active = True
        request = self._get_request(reverse('authentication:callback'))
        request.user = user
        middleware = ValidateIDToken()
        result = middleware.process_request(request)
        eq_(result, None)