Пример #1
0
    def test_ipv6_listen_called_with_scope(self):
        server = wsgi.Server("test_app")

        with mock.patch.object(wsgi.eventlet, 'listen') as mock_listen:
            with mock.patch.object(socket, 'getaddrinfo') as mock_get_addr:
                mock_get_addr.return_value = [
                    (socket.AF_INET6, socket.SOCK_STREAM, socket.IPPROTO_TCP,
                     '', ('fe80::204:acff:fe96:da87%eth0', 1234, 0, 2))
                ]
                with mock.patch.object(server, 'pool') as mock_pool:
                    server.start(None,
                                 1234,
                                 host="fe80::204:acff:fe96:da87%eth0")

                    mock_get_addr.assert_called_once_with(
                        "fe80::204:acff:fe96:da87%eth0", 1234,
                        socket.AF_UNSPEC, socket.SOCK_STREAM)

                    mock_listen.assert_called_once_with(
                        ('fe80::204:acff:fe96:da87%eth0', 1234, 0, 2),
                        family=socket.AF_INET6,
                        backlog=cfg.CONF.backlog)

                    mock_pool.spawn.assert_has_calls([
                        mock.call(server._run, None, mock_listen.return_value)
                    ])
Пример #2
0
 def test_start_random_port_with_ipv6(self):
     server = wsgi.Server("test_random_port")
     server.start(None, 0, host="::1")
     self.assertEqual("::1", server.host)
     self.assertNotEqual(0, server.port)
     server.stop()
     server.wait()
Пример #3
0
 def run(self):
     handler = NetworkMetadataProxyHandler(
         self.network_id,
         self.router_id)
     proxy = wsgi.Server('quantum-network-metadata-proxy')
     proxy.start(handler, self.port)
     proxy.wait()
Пример #4
0
def _run_wsgi(app_name):
    app = config.load_paste_app(app_name)
    if not app:
        LOG.error(_('No known API applications configured.'))
        return
    server = wsgi.Server("Quantum")
    server.start(app, cfg.CONF.bind_port, cfg.CONF.bind_host)
    return server
Пример #5
0
def _run_wsgi(app_name, paste_conf, paste_config_file):
    LOG.info(_('Using paste.deploy config at: %s'), paste_config_file)
    conf, app = config.load_paste_app(app_name,
                                      {'config_file': paste_config_file}, None)
    if not app:
        LOG.error(_('No known API applications configured in %s.'),
                  paste_config_file)
        return
    server = wsgi.Server("Quantum")
    server.start(app, int(paste_conf['bind_port']), paste_conf['bind_host'])
    return server
Пример #6
0
def _run_wsgi(app_name):
    app = config.load_paste_app(app_name)
    if not app:
        LOG.error(_('No known API applications configured.'))
        return
    server = wsgi.Server("Quantum")
    server.start(app, cfg.CONF.bind_port, cfg.CONF.bind_host)
    # Dump all option values here after all options are parsed
    cfg.CONF.log_opt_values(LOG, std_logging.DEBUG)
    LOG.info(_("Quantum service started, listening on %(host)s:%(port)s"), {
        'host': cfg.CONF.bind_host,
        'port': cfg.CONF.bind_port
    })
    return server
Пример #7
0
    def test_app(self):
        greetings = 'Hello, World!!!'

        def hello_world(env, start_response):
            if env['PATH_INFO'] != '/':
                start_response('404 Not Found',
                               [('Content-Type', 'text/plain')])
                return ['Not Found\r\n']
            start_response('200 OK', [('Content-Type', 'text/plain')])
            return [greetings]

        server = wsgi.Server("test_app")
        server.start(hello_world, 0, host="127.0.0.1")

        response = urllib2.urlopen('http://127.0.0.1:%d/' % server.port)
        self.assertEquals(greetings, response.read())

        server.stop()
Пример #8
0
    def test_app_using_ipv6_and_ssl(self):
        CONF.set_default('use_ssl', True)
        CONF.set_default("ssl_cert_file",
                         os.path.join(TEST_VAR_DIR, 'certificate.crt'))
        CONF.set_default("ssl_key_file",
                         os.path.join(TEST_VAR_DIR, 'privatekey.key'))

        greetings = 'Hello, World!!!'

        @webob.dec.wsgify
        def hello_world(req):
            return greetings

        server = wsgi.Server("test_app")
        server.start(hello_world, 0, host="::1")

        response = urllib2.urlopen('https://[::1]:%d/' % server.port)
        self.assertEquals(greetings, response.read())

        server.stop()
Пример #9
0
 def test_start_random_port(self):
     server = wsgi.Server("test_random_port")
     server.start(None, 0, host="127.0.0.1")
     self.assertNotEqual(0, server.port)
     server.stop()
     server.wait()