24 lines
516 B
Python
24 lines
516 B
Python
import flask
|
|
|
|
|
|
def test_aborting(app):
|
|
class Foo(Exception):
|
|
whatever = 42
|
|
|
|
@app.errorhandler(Foo)
|
|
def handle_foo(e):
|
|
return str(e.whatever)
|
|
|
|
@app.route("/")
|
|
def index():
|
|
raise flask.abort(flask.redirect(flask.url_for("test")))
|
|
|
|
@app.route("/test")
|
|
def test():
|
|
raise Foo()
|
|
|
|
with app.test_client() as c:
|
|
rv = c.get("/")
|
|
assert rv.headers["Location"] == "http://localhost/test"
|
|
rv = c.get("/test")
|
|
assert rv.data == b"42"
|