|
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() |