Browse Source

clean up

pull/2409/head
David Lord 8 years ago
parent
commit
9560f22bb6
No known key found for this signature in database
GPG Key ID: 7A1C87E3F5BC42A8
  1. 4
      flask/app.py
  2. 20
      tests/test_appctx.py

4
flask/app.py

@ -1485,8 +1485,8 @@ class Flask(_PackageBoundObject):
context it would also be called when you pop a request context.
When a teardown function was called because of an unhandled exception
it will be passed an error object. Note that if a :meth:`errorhandler`
is registered, it will handle the exception and the teardown will not
it will be passed an error object. If an :meth:`errorhandler` is
registered, it will handle the exception and the teardown will not
receive it.
The return values of teardown functions are ignored.

20
tests/test_appctx.py

@ -97,13 +97,10 @@ def test_app_tearing_down_with_handled_exception_by_except_block(app):
assert cleanup_stuff == [None]
def test_app_tearing_down_with_handled_exception_by_app_handler(app):
def test_app_tearing_down_with_handled_exception_by_app_handler(app, client):
app.config['PROPAGATE_EXCEPTIONS'] = True
cleanup_stuff = []
class AppConfig():
PROPAGATE_EXCEPTIONS = True
app.config.from_object(AppConfig())
@app.teardown_appcontext
def cleanup(exception):
cleanup_stuff.append(exception)
@ -116,20 +113,16 @@ def test_app_tearing_down_with_handled_exception_by_app_handler(app):
def handler(f):
return flask.jsonify(str(f))
test_client = app.test_client()
with app.app_context():
test_client.get('/')
client.get('/')
assert cleanup_stuff == [None]
def test_app_tearing_down_with_unhandled_exception(app):
def test_app_tearing_down_with_unhandled_exception(app, client):
app.config['PROPAGATE_EXCEPTIONS'] = True
cleanup_stuff = []
class AppConfig():
PROPAGATE_EXCEPTIONS = True
app.config.from_object(AppConfig())
@app.teardown_appcontext
def cleanup(exception):
cleanup_stuff.append(exception)
@ -138,10 +131,9 @@ def test_app_tearing_down_with_unhandled_exception(app):
def index():
raise Exception('dummy')
test_client = app.test_client()
with pytest.raises(Exception):
with app.app_context():
test_client.get('/')
client.get('/')
assert len(cleanup_stuff) == 1
assert isinstance(cleanup_stuff[0], Exception)

Loading…
Cancel
Save