# Source code for cherrypy.test.test_wsgi_vhost

    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)