NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

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">')