from cherrypy.test import test
test.prefer_parent_path()
import cherrypy
def setup_server():
class ClassOfRoot(object):
def __init__(self, name):
self.name = name
def index(self):
return "Welcome to the %s website!" % self.name
index.exposed = True
cherrypy.config.update({'environment': 'test_suite'})
default = cherrypy.Application(None)
domains = {}
for year in xrange(1997, 2008):
app = cherrypy.Application(ClassOfRoot('Class of %s' % year))
domains['www.classof%s.example' % year] = app
cherrypy.tree.graft(cherrypy._cpwsgi.VirtualHost(default, domains))
from cherrypy.test import helper
class WSGI_VirtualHost_Test(helper.CPWebCase):
def test_welcome(self):
if not cherrypy.server.using_wsgi:
print "skipped (not using WSGI)...",
return
for year in xrange(1997, 2008):
self.getPage("/", headers=[('Host', 'www.classof%s.example' % year)])
self.assertBody("Welcome to the Class of %s website!" % year)
if __name__ == '__main__':
setup_server()
helper.testmain()
|