diff options
author | Jenkins <jenkins@review.openstack.org> | 2013-02-02 16:52:24 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2013-02-02 16:52:24 +0000 |
commit | 6ce830b0e4e8a9c00d3cfb51f643dec3e1286cee (patch) | |
tree | d2263f2476ec6b1f465fc2187333cb1a2d8eb78f /tests/unit/test_wsgi.py | |
parent | 864e934cfa7003767dabb4f9a51ebe1e493f6027 (diff) | |
parent | e50b68c0d28cb00fa627525f23bb0c0f614b9312 (diff) | |
download | oslo-6ce830b0e4e8a9c00d3cfb51f643dec3e1286cee.tar.gz oslo-6ce830b0e4e8a9c00d3cfb51f643dec3e1286cee.tar.xz oslo-6ce830b0e4e8a9c00d3cfb51f643dec3e1286cee.zip |
Merge "Support for SSL in wsgi.Service"
Diffstat (limited to 'tests/unit/test_wsgi.py')
-rw-r--r-- | tests/unit/test_wsgi.py | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/tests/unit/test_wsgi.py b/tests/unit/test_wsgi.py index 749d524..e4f975e 100644 --- a/tests/unit/test_wsgi.py +++ b/tests/unit/test_wsgi.py @@ -16,12 +16,20 @@ # under the License. import mock +import os +import routes +import ssl +import urllib2 import webob from openstack.common import exception from openstack.common import wsgi +from openstack.common import cfg from tests import utils +TEST_VAR_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), + '..', 'var')) + class RequestTest(utils.BaseTestCase): @@ -471,3 +479,64 @@ class WSGIServerTest(utils.BaseTestCase): self.assertEqual("0.0.0.0", server.host) self.assertNotEqual(0, server.port) server.stop() + + 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.Service(hello_world, 0) + server.start() + + response = urllib2.urlopen('http://127.0.0.1:%d/' % server.port) + self.assertEquals(greetings, response.read()) + + server.stop() + + def test_app_using_router(self): + greetings = 'Hello, World!!!' + + @webob.dec.wsgify + def hello(req): + return greetings + + mapper = routes.Mapper() + mapper.connect(None, "/v1.0/{path_info:.*}", controller=hello) + router = wsgi.Router(mapper) + server = wsgi.Service(router, 0) + server.start() + + response = urllib2.urlopen('http://127.0.0.1:%d/v1.0/' % server.port) + self.assertEquals(greetings, response.read()) + + server.stop() + + def test_app_using_router_ssl(self): + + self.config(cert_file=os.path.join(TEST_VAR_DIR, 'certificate.crt'), + group="ssl") + self.config(key_file=os.path.join(TEST_VAR_DIR, 'privatekey.key'), + group="ssl") + + greetings = 'Hello, World!!!' + + @webob.dec.wsgify + def hello(req): + return greetings + + mapper = routes.Mapper() + mapper.connect(None, "/v1.0/{path_info:.*}", controller=hello) + router = wsgi.Router(mapper) + server = wsgi.Service(router, 0, host="127.0.0.1") + server.start() + + response = urllib2.urlopen('https://127.0.0.1:%d/v1.0/' % server.port) + self.assertEquals(greetings, response.read()) + + server.stop() |