diff options
| author | Armin Ronacher <armin.ronacher@active-4.com> | 2017-12-27 16:52:04 +0100 |
|---|---|---|
| committer | Armin Ronacher <armin.ronacher@active-4.com> | 2017-12-27 16:52:04 +0100 |
| commit | fdd9b72889845a4848f298d5e3684a4e5784709f (patch) | |
| tree | 7f527d4f9c8ff52ec365a26aa04dd40218165d0b /tests | |
| parent | eb066b71263bce2602afc399f011d9b404dbdd79 (diff) | |
| download | werkzeug-feature/wrapper-exceptions.tar.gz | |
Catch HTTP exceptions in Request.applicationfeature/wrapper-exceptions
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_wrappers.py | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/tests/test_wrappers.py b/tests/test_wrappers.py index 2d68b784..33a39df7 100644 --- a/tests/test_wrappers.py +++ b/tests/test_wrappers.py @@ -21,7 +21,8 @@ from werkzeug._compat import iteritems from tests import strict_eq from werkzeug import wrappers -from werkzeug.exceptions import SecurityError, RequestedRangeNotSatisfiable +from werkzeug.exceptions import SecurityError, RequestedRangeNotSatisfiable, \ + BadRequest from werkzeug.wsgi import LimitedStream, wrap_file from werkzeug.datastructures import MultiDict, ImmutableOrderedMultiDict, \ ImmutableList, ImmutableTypeConversionDict, CharsetAccept, \ @@ -220,6 +221,24 @@ def test_stream_only_mixing(): strict_eq(request.stream.read(), b'foo=blub+hehe') +def test_request_application(): + @wrappers.Request.application + def application(request): + return wrappers.Response('Hello World!') + + @wrappers.Request.application + def failing_application(request): + raise BadRequest() + + resp = wrappers.Response.from_app(application, create_environ()) + assert resp.data == b'Hello World!' + assert resp.status_code == 200 + + resp = wrappers.Response.from_app(failing_application, create_environ()) + assert b'Bad Request' in resp.data + assert resp.status_code == 400 + + def test_base_response(): # unicode response = wrappers.BaseResponse(u'öäü') |
