From d292b97587c19b4aa7fa0150a8b5ecc8d758b783 Mon Sep 17 00:00:00 2001 From: Bert JW Regeer Date: Tue, 22 Apr 2014 20:00:53 -0600 Subject: Verify that wrapped is not None If wrapped is None we raise a ValueError to let the user know that we are unable to continue. --- pyramid/tests/test_wsgi.py | 22 ++++++++++++++++++++++ pyramid/wsgi.py | 7 +++++++ 2 files changed, 29 insertions(+) diff --git a/pyramid/tests/test_wsgi.py b/pyramid/tests/test_wsgi.py index 63499b43b..432fb72ae 100644 --- a/pyramid/tests/test_wsgi.py +++ b/pyramid/tests/test_wsgi.py @@ -5,6 +5,17 @@ class WSGIAppTests(unittest.TestCase): from pyramid.wsgi import wsgiapp return wsgiapp(app) + def test_wsgiapp_none(self): + self.assertRaises(ValueError, self._callFUT, None) + + def test_wsgiapp_none_func(self): + from pyramid.wsgi import wsgiapp + + def some_func(): + pass + + self.assertRaises(ValueError, wsgiapp, some_func()) + def test_decorator(self): context = DummyContext() request = DummyRequest() @@ -25,6 +36,17 @@ class WSGIApp2Tests(unittest.TestCase): from pyramid.wsgi import wsgiapp2 return wsgiapp2(app) + def test_wsgiapp2_none(self): + self.assertRaises(ValueError, self._callFUT, None) + + def test_wsgiapp2_none_func(self): + from pyramid.wsgi import wsgiapp2 + + def some_func(): + pass + + self.assertRaises(ValueError, wsgiapp2, some_func()) + def test_decorator_with_subpath_and_view_name(self): context = DummyContext() request = DummyRequest() diff --git a/pyramid/wsgi.py b/pyramid/wsgi.py index d176e4ce5..1c1bded32 100644 --- a/pyramid/wsgi.py +++ b/pyramid/wsgi.py @@ -29,6 +29,10 @@ def wsgiapp(wrapped): view. """ + + if wrapped is None: + raise ValueError('wrapped can not be None') + def decorator(context, request): return request.get_response(wrapped) @@ -69,6 +73,9 @@ def wsgiapp2(wrapped): subpath is used as the ``SCRIPT_NAME``. The new environment is passed to the downstream WSGI application.""" + if wrapped is None: + raise ValueError('wrapped can not be None') + def decorator(context, request): return call_app_with_subpath_as_path_info(request, wrapped) -- cgit v1.2.3 From 2eb28f583cc423ab2c6b9b830cf40da7795ca04a Mon Sep 17 00:00:00 2001 From: Bert JW Regeer Date: Tue, 22 Apr 2014 20:03:45 -0600 Subject: Update CHANGES for wsgiapp and wsgiapp2 --- CHANGES.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGES.txt b/CHANGES.txt index b0495617b..2761c29dc 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -10,6 +10,8 @@ Next release introspectable but not when passed for registration. This would mean that add_route_predicate for example can not take a string and turn it into the actual callable function. +- p.wsgi.wsgiapp and p.wsgi.wsgiapp2 now raise ValueError when accidentally + passed None. 1.5 (2014-04-08) ================ -- cgit v1.2.3