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