import cherrypy from cherrypy.test import helper class WSGI_VirtualHost_Test(helper.CPWebCase): @staticmethod def setup_server(): class ClassOfRoot(object): def __init__(self, name): self.name = name @cherrypy.expose def index(self): return 'Welcome to the %s website!' % self.name default = cherrypy.Application(None) domains = {} for year in range(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)) def test_welcome(self): if not cherrypy.server.using_wsgi: return self.skip('skipped (not using WSGI)... ') for year in range(1997, 2008): self.getPage( '/', headers=[('Host', 'www.classof%s.example' % year)]) self.assertBody('Welcome to the Class of %s website!' % year)