/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_virtualhost.py (4021B)
import os import cherrypy from cherrypy.test import helper curdir = os.path.join(os.getcwd(), os.path.dirname(__file__)) class VirtualHostTest(helper.CPWebCase): @staticmethod def setup_server(): class Root: @cherrypy.expose def index(self): return 'Hello, world' @cherrypy.expose def dom4(self): return 'Under construction' @cherrypy.expose def method(self, value): return 'You sent %s' % value class VHost: def __init__(self, sitename): self.sitename = sitename @cherrypy.expose def index(self): return 'Welcome to %s' % self.sitename @cherrypy.expose def vmethod(self, value): return 'You sent %s' % value @cherrypy.expose def url(self): return cherrypy.url('nextpage') # Test static as a handler (section must NOT include vhost prefix) static = cherrypy.tools.staticdir.handler( section='/static', dir=curdir) root = Root() root.mydom2 = VHost('Domain 2') root.mydom3 = VHost('Domain 3') hostmap = {'www.mydom2.com': '/mydom2', 'www.mydom3.com': '/mydom3', 'www.mydom4.com': '/dom4', } cherrypy.tree.mount(root, config={ '/': { 'request.dispatch': cherrypy.dispatch.VirtualHost(**hostmap) }, # Test static in config (section must include vhost prefix) '/mydom2/static2': { 'tools.staticdir.on': True, 'tools.staticdir.root': curdir, 'tools.staticdir.dir': 'static', 'tools.staticdir.index': 'index.html', }, }) def testVirtualHost(self): self.getPage('/', [('Host', 'www.mydom1.com')]) self.assertBody('Hello, world') self.getPage('/mydom2/', [('Host', 'www.mydom1.com')]) self.assertBody('Welcome to Domain 2') self.getPage('/', [('Host', 'www.mydom2.com')]) self.assertBody('Welcome to Domain 2') self.getPage('/', [('Host', 'www.mydom3.com')]) self.assertBody('Welcome to Domain 3') self.getPage('/', [('Host', 'www.mydom4.com')]) self.assertBody('Under construction') # Test GET, POST, and positional params self.getPage('/method?value=root') self.assertBody('You sent root') self.getPage('/vmethod?value=dom2+GET', [('Host', 'www.mydom2.com')]) self.assertBody('You sent dom2 GET') self.getPage('/vmethod', [('Host', 'www.mydom3.com')], method='POST', body='value=dom3+POST') self.assertBody('You sent dom3 POST') self.getPage('/vmethod/pos', [('Host', 'www.mydom3.com')]) self.assertBody('You sent pos') # Test that cherrypy.url uses the browser url, not the virtual url self.getPage('/url', [('Host', 'www.mydom2.com')]) self.assertBody('%s://www.mydom2.com/nextpage' % self.scheme) def test_VHost_plus_Static(self): # Test static as a handler self.getPage('/static/style.css', [('Host', 'www.mydom2.com')]) self.assertStatus('200 OK') self.assertHeader('Content-Type', 'text/css;charset=utf-8') # Test static in config self.getPage('/static2/dirback.jpg', [('Host', 'www.mydom2.com')]) self.assertStatus('200 OK') self.assertHeaderIn('Content-Type', ['image/jpeg', 'image/pjpeg']) # Test static config with "index" arg self.getPage('/static2/', [('Host', 'www.mydom2.com')]) self.assertStatus('200 OK') self.assertBody('Hello, world\r\n') # Since tools.trailing_slash is on by default, this should redirect self.getPage('/static2', [('Host', 'www.mydom2.com')]) self.assertStatus(301)