Beispiel #1
0
    def testValidSig(self):
        # Construct login request server side
        domain = 'http://testserver/'
        settings.AUTOLOGIN_SERVICES = {'test': domain}
        now = datetime(2011, 1, 1, 1, 12, 00, 100000)
        request_server = LoginRequestServer(self.user.username, 'test', now,
                                            KEY)
        redirect = request_server.generate_redirect()
        querystring = urlparse.urlsplit(redirect['location']).query  # pylint: disable=E1103

        # Verify login request client side
        query = QueryDict(querystring)
        request = self.request.copy()
        request.GET = {
            USER_KEY: query.get(USER_KEY),
            DATETIME_KEY: query.get(DATETIME_KEY),
            SIG_KEY: query.get(SIG_KEY),
        }
        request.user = self.user
        session = MagicMock()
        session.flush = lambda: None
        request.session = session
        logout(request)
        self.assertFalse(request.user.is_authenticated())
        login_request = LoginRequestClient(request, now, KEY)
        redirect = login_request.verify()

        # Assert
        self.assertTrue(isinstance(redirect, HttpResponseRedirect))
        self.assertEqual(redirect['location'], settings.LOGIN_REDIRECT_URL)
        self.assertTrue(request.user.is_authenticated())
Beispiel #2
0
    def testValidSig(self):
        # Construct login request server side
        domain = 'http://testserver/'
        settings.AUTOLOGIN_SERVICES = {'test': domain}
        now = datetime(2011, 1, 1, 1, 12, 00, 100000)
        request_server = LoginRequestServer(self.user.username, 'test', now, KEY)
        redirect = request_server.generate_redirect()
        querystring = urlparse.urlsplit(redirect['location']).query  # pylint: disable=E1103

        # Verify login request client side
        query = QueryDict(querystring)
        request = self.request.copy()
        request.GET = {
            USER_KEY: query.get(USER_KEY),
            DATETIME_KEY: query.get(DATETIME_KEY),
            SIG_KEY: query.get(SIG_KEY),
        }
        request.user = self.user
        session = MagicMock()
        session.flush = lambda: None
        request.session = session
        logout(request)
        self.assertFalse(request.user.is_authenticated())
        login_request = LoginRequestClient(request, now, KEY)
        redirect = login_request.verify()

        # Assert
        self.assertTrue(isinstance(redirect, HttpResponseRedirect))
        self.assertEqual(redirect['location'], settings.LOGIN_REDIRECT_URL)
        self.assertTrue(request.user.is_authenticated())
Beispiel #3
0
 def testInvalidSig(self):
     now = datetime(2011, 1, 1, 1, 12, 00, 100000)
     request = self.request.copy()
     request.GET = {
         USER_KEY: 'test-user',
         DATETIME_KEY: datetime(2011, 1, 1, 1, 12, 00, 100000).isoformat(),
         SIG_KEY: 11213123123,
     }
     request.user = self.user
     logout(request)
     login_request = LoginRequestClient(request, now, KEY)
     self.assertEqual(login_request.verify(), False)
Beispiel #4
0
 def testInvalidSig(self):
     now = datetime(2011, 1, 1, 1, 12, 00, 100000)
     request = self.request.copy()
     request.GET = {
         USER_KEY: 'test-user',
         DATETIME_KEY: datetime(2011, 1, 1, 1, 12, 00, 100000).isoformat(),
         SIG_KEY: 11213123123,
     }
     request.user = self.user
     logout(request)
     login_request = LoginRequestClient(request, now, KEY)
     self.assertEqual(login_request.verify(), False)
 def process_request(self, request):
     login_request = LoginRequestClient(request)
     redirect = login_request.verify()
     if redirect:
         return redirect