test_sessionauthenticate.py (1675B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\carbon\common\lib\cherrypy\test\test_sessionauthenticate.py 2 import cherrypy 3 from cherrypy.test import helper 4 5 class SessionAuthenticateTest(helper.CPWebCase): 6 7 def setup_server(): 8 9 def check(username, password): 10 if username != 'test' or password != 'password': 11 return 'Wrong login/password' 12 13 def augment_params(): 14 cherrypy.request.params['test'] = 'test' 15 16 cherrypy.tools.augment_params = cherrypy.Tool('before_handler', augment_params, None, priority=30) 17 18 class Test: 19 _cp_config = {'tools.sessions.on': True, 20 'tools.session_auth.on': True, 21 'tools.session_auth.check_username_and_password': check, 22 'tools.augment_params.on': True} 23 24 def index(self, **kwargs): 25 return 'Hi %s, you are logged in' % cherrypy.request.login 26 27 index.exposed = True 28 29 cherrypy.tree.mount(Test()) 30 31 setup_server = staticmethod(setup_server) 32 33 def testSessionAuthenticate(self): 34 self.getPage('/') 35 self.assertInBody('<form method="post" action="do_login">') 36 login_body = 'username=test&password=password&from_page=/' 37 self.getPage('/do_login', method='POST', body=login_body) 38 self.assertStatus((302, 303)) 39 self.getPage('/', self.cookies) 40 self.assertBody('Hi test, you are logged in') 41 self.getPage('/do_logout', self.cookies, method='POST') 42 self.assertStatus((302, 303)) 43 self.getPage('/', self.cookies) 44 self.assertInBody('<form method="post" action="do_login">')