cubicweb/pyramid/test/test_login.py
changeset 11631 faf279e33298
parent 11628 0f12ee84f30a
child 11816 6392f34fcdad
equal deleted inserted replaced
11478:1817f8946c22 11631:faf279e33298
       
     1 from cubicweb.pyramid.test import PyramidCWTest
       
     2 
       
     3 
       
     4 class LoginTest(PyramidCWTest):
       
     5     def test_login_form(self):
       
     6         res = self.webapp.get('/login')
       
     7         self.assertIn('__login', res.text)
       
     8 
       
     9     def test_login_password_login(self):
       
    10         res = self.webapp.post('/login', {
       
    11             '__login': self.admlogin, '__password': self.admpassword})
       
    12         self.assertEqual(res.status_int, 303)
       
    13 
       
    14         res = self.webapp.get('/login')
       
    15         self.assertEqual(res.status_int, 303)
       
    16 
       
    17     def test_login_password_login_cookie_expires(self):
       
    18         res = self.webapp.post('/login', {
       
    19             '__login': self.admlogin, '__password': self.admpassword})
       
    20         self.assertEqual(res.status_int, 303)
       
    21 
       
    22         cookies = self.webapp.cookiejar._cookies['localhost.local']['/']
       
    23         self.assertNotIn('pauth_tkt', cookies)
       
    24         self.assertIn('auth_tkt', cookies)
       
    25         self.assertIsNone(cookies['auth_tkt'].expires)
       
    26 
       
    27         res = self.webapp.get('/logout')
       
    28         self.assertEqual(res.status_int, 303)
       
    29 
       
    30         self.assertNotIn('auth_tkt', cookies)
       
    31         self.assertNotIn('pauth_tkt', cookies)
       
    32 
       
    33         res = self.webapp.post('/login', {
       
    34             '__login': self.admlogin, '__password': self.admpassword,
       
    35             '__setauthcookie': 1})
       
    36         self.assertEqual(res.status_int, 303)
       
    37 
       
    38         cookies = self.webapp.cookiejar._cookies['localhost.local']['/']
       
    39         self.assertNotIn('auth_tkt', cookies)
       
    40         self.assertIn('pauth_tkt', cookies)
       
    41         self.assertIsNotNone(cookies['pauth_tkt'].expires)
       
    42 
       
    43     def test_login_bad_password(self):
       
    44         res = self.webapp.post('/login', {
       
    45             '__login': self.admlogin, '__password': 'empty'}, status=403)
       
    46         self.assertIn('Authentication failed', res.text)
       
    47 
       
    48 
       
    49 if __name__ == '__main__':
       
    50     from unittest import main
       
    51     main()