/opt/imh-python/lib/python3.9/site-packages/cherrypy/test
NameSizeModeActions
static/-0755rm
__pycache__/-0755rm
benchmark.py125630644editdlrm
checkerdemo.py18610644editdlrm
fastcgi.conf6860644editdlrm
fcgi.conf4860644editdlrm
helper.py163690644editdlrm
logtest.py81510644editdlrm
modfastcgi.py46520644editdlrm
modfcgid.py42370644editdlrm
modpy.py49780644editdlrm
modwsgi.py48340644editdlrm
sessiondemo.py54250644editdlrm
style.css170644editdlrm
test.pem22540644editdlrm
test_auth_basic.py44990644editdlrm
test_auth_digest.py44540644editdlrm
test_bus.py99600644editdlrm
test_caching.py143860644editdlrm
test_config.py88360644editdlrm
test_config_server.py40370644editdlrm
test_conn.py307440644editdlrm
test_core.py304080644editdlrm
test_dynamicobjectmapping.py123310644editdlrm
test_encoding.py175350644editdlrm
test_etags.py30930644editdlrm
test_http.py109390644editdlrm
test_httputil.py24120644editdlrm
test_iterator.py57240644editdlrm
test_json.py28600644editdlrm
test_logging.py83150644editdlrm
test_mime.py45380644editdlrm
test_misc_tools.py70940644editdlrm
test_native.py9710644editdlrm
test_objectmapping.py145040644editdlrm
test_params.py18620644editdlrm
test_plugins.py3340644editdlrm
test_proxy.py56300644editdlrm
test_refleaks.py15550644editdlrm
test_request_obj.py370970644editdlrm
test_routes.py25830644editdlrm
test_session.py179490644editdlrm
test_sessionauthenticate.py20130644editdlrm
test_states.py167030644editdlrm
test_static.py167020644editdlrm
test_tools.py178510644editdlrm
test_tutorials.py69640644editdlrm
test_virtualhost.py40210644editdlrm
test_wsgiapps.py39970644editdlrm
test_wsgi_ns.py28120644editdlrm
test_wsgi_unix_socket.py22280644editdlrm
test_wsgi_vhost.py10340644editdlrm
test_xmlrpc.py45840644editdlrm
webtest.py2620644editdlrm
_test_decorators.py9510644editdlrm
_test_states_demo.py18760644editdlrm
__init__.py3960644editdlrm
Edit: /opt/imh-python/lib/python3.9/site-packages/cherrypy/test/test_auth_basic.py (4499B)
# This file is part of CherryPy # -*- coding: utf-8 -*- # vim:ts=4:sw=4:expandtab:fileencoding=utf-8 from hashlib import md5 import cherrypy from cherrypy._cpcompat import ntob from cherrypy.lib import auth_basic from cherrypy.test import helper class BasicAuthTest(helper.CPWebCase): @staticmethod def setup_server(): class Root: @cherrypy.expose def index(self): return 'This is public.' class BasicProtected: @cherrypy.expose def index(self): return "Hello %s, you've been authorized." % ( cherrypy.request.login) class BasicProtected2: @cherrypy.expose def index(self): return "Hello %s, you've been authorized." % ( cherrypy.request.login) class BasicProtected2_u: @cherrypy.expose def index(self): return "Hello %s, you've been authorized." % ( cherrypy.request.login) userpassdict = {'xuser': 'xpassword'} userhashdict = {'xuser': md5(b'xpassword').hexdigest()} userhashdict_u = {'xюзер': md5(ntob('їжа', 'utf-8')).hexdigest()} def checkpasshash(realm, user, password): p = userhashdict.get(user) return p and p == md5(ntob(password)).hexdigest() or False def checkpasshash_u(realm, user, password): p = userhashdict_u.get(user) return p and p == md5(ntob(password, 'utf-8')).hexdigest() or False basic_checkpassword_dict = auth_basic.checkpassword_dict(userpassdict) conf = { '/basic': { 'tools.auth_basic.on': True, 'tools.auth_basic.realm': 'wonderland', 'tools.auth_basic.checkpassword': basic_checkpassword_dict }, '/basic2': { 'tools.auth_basic.on': True, 'tools.auth_basic.realm': 'wonderland', 'tools.auth_basic.checkpassword': checkpasshash, 'tools.auth_basic.accept_charset': 'ISO-8859-1', }, '/basic2_u': { 'tools.auth_basic.on': True, 'tools.auth_basic.realm': 'wonderland', 'tools.auth_basic.checkpassword': checkpasshash_u, 'tools.auth_basic.accept_charset': 'UTF-8', }, } root = Root() root.basic = BasicProtected() root.basic2 = BasicProtected2() root.basic2_u = BasicProtected2_u() cherrypy.tree.mount(root, config=conf) def testPublic(self): self.getPage('/') self.assertStatus('200 OK') self.assertHeader('Content-Type', 'text/html;charset=utf-8') self.assertBody('This is public.') def testBasic(self): self.getPage('/basic/') self.assertStatus(401) self.assertHeader( 'WWW-Authenticate', 'Basic realm="wonderland", charset="UTF-8"' ) self.getPage('/basic/', [('Authorization', 'Basic eHVzZXI6eHBhc3N3b3JX')]) self.assertStatus(401) self.getPage('/basic/', [('Authorization', 'Basic eHVzZXI6eHBhc3N3b3Jk')]) self.assertStatus('200 OK') self.assertBody("Hello xuser, you've been authorized.") def testBasic2(self): self.getPage('/basic2/') self.assertStatus(401) self.assertHeader('WWW-Authenticate', 'Basic realm="wonderland"') self.getPage('/basic2/', [('Authorization', 'Basic eHVzZXI6eHBhc3N3b3JX')]) self.assertStatus(401) self.getPage('/basic2/', [('Authorization', 'Basic eHVzZXI6eHBhc3N3b3Jk')]) self.assertStatus('200 OK') self.assertBody("Hello xuser, you've been authorized.") def testBasic2_u(self): self.getPage('/basic2_u/') self.assertStatus(401) self.assertHeader( 'WWW-Authenticate', 'Basic realm="wonderland", charset="UTF-8"' ) self.getPage('/basic2_u/', [('Authorization', 'Basic eNGO0LfQtdGAOtGX0LbRgw==')]) self.assertStatus(401) self.getPage('/basic2_u/', [('Authorization', 'Basic eNGO0LfQtdGAOtGX0LbQsA==')]) self.assertStatus('200 OK') self.assertBody("Hello xюзер, you've been authorized.")