summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-03-22 13:01:50 +0000
committerGerrit Code Review <review@openstack.org>2013-03-22 13:01:50 +0000
commit727d784a0f732082497928798247f0e7ad4c0361 (patch)
treecccf0a62e195577805859c3055f8829f2690bb4c
parent387534f6f1b200bedc250588f2b26aa0ba47aa09 (diff)
parente20c2b98b872ba58eda5e03194d7908ebd290420 (diff)
downloadoslo-727d784a0f732082497928798247f0e7ad4c0361.tar.gz
oslo-727d784a0f732082497928798247f0e7ad4c0361.tar.xz
oslo-727d784a0f732082497928798247f0e7ad4c0361.zip
Merge "Allows wsgi server kwargs to be given."
-rw-r--r--openstack/common/wsgi.py4
-rw-r--r--tests/unit/test_wsgi.py19
2 files changed, 21 insertions, 2 deletions
diff --git a/openstack/common/wsgi.py b/openstack/common/wsgi.py
index a6310a4..47f97a2 100644
--- a/openstack/common/wsgi.py
+++ b/openstack/common/wsgi.py
@@ -59,10 +59,10 @@ CONF.register_opts(socket_opts)
LOG = logging.getLogger(__name__)
-def run_server(application, port):
+def run_server(application, port, **kwargs):
"""Run a WSGI server with the given application."""
sock = eventlet.listen(('0.0.0.0', port))
- eventlet.wsgi.server(sock, application)
+ eventlet.wsgi.server(sock, application, **kwargs)
class Service(service.Service):
diff --git a/tests/unit/test_wsgi.py b/tests/unit/test_wsgi.py
index 0b8aab3..9a2e04b 100644
--- a/tests/unit/test_wsgi.py
+++ b/tests/unit/test_wsgi.py
@@ -464,6 +464,25 @@ class ServerTest(utils.BaseTestCase):
listen_patcher.stop()
server_patcher.stop()
+ def test_run_server_with_kwargs(self):
+ listen_patcher = mock.patch('eventlet.listen')
+ server_patcher = mock.patch('eventlet.wsgi.server')
+
+ listen_mock = listen_patcher.start()
+ server_mock = server_patcher.start()
+ log_format = '%(client_ip)s'
+ try:
+ listen_mock.return_value = mock.sentinel.sock
+ wsgi.run_server(mock.sentinel.application,
+ mock.sentinel.port,
+ log_format=log_format)
+ server_mock.assert_called_with(mock.sentinel.sock,
+ mock.sentinel.application,
+ log_format=log_format)
+ finally:
+ listen_patcher.stop()
+ server_patcher.stop()
+
class WSGIServerTest(utils.BaseTestCase):