(app)
| 98 | |
| 99 | |
| 100 | def test_error_handler_http_subclass(app): |
| 101 | class ForbiddenSubclassRegistered(Forbidden): |
| 102 | pass |
| 103 | |
| 104 | class ForbiddenSubclassUnregistered(Forbidden): |
| 105 | pass |
| 106 | |
| 107 | @app.errorhandler(403) |
| 108 | def code_exception_handler(e): |
| 109 | assert isinstance(e, Forbidden) |
| 110 | return "forbidden" |
| 111 | |
| 112 | @app.errorhandler(ForbiddenSubclassRegistered) |
| 113 | def subclass_exception_handler(e): |
| 114 | assert isinstance(e, ForbiddenSubclassRegistered) |
| 115 | return "forbidden-registered" |
| 116 | |
| 117 | @app.route("/forbidden") |
| 118 | def forbidden_test(): |
| 119 | raise Forbidden() |
| 120 | |
| 121 | @app.route("/forbidden-registered") |
| 122 | def registered_test(): |
| 123 | raise ForbiddenSubclassRegistered() |
| 124 | |
| 125 | @app.route("/forbidden-unregistered") |
| 126 | def unregistered_test(): |
| 127 | raise ForbiddenSubclassUnregistered() |
| 128 | |
| 129 | c = app.test_client() |
| 130 | |
| 131 | assert c.get("/forbidden").data == b"forbidden" |
| 132 | assert c.get("/forbidden-unregistered").data == b"forbidden" |
| 133 | assert c.get("/forbidden-registered").data == b"forbidden-registered" |
| 134 | |
| 135 | |
| 136 | def test_error_handler_blueprint(app): |
nothing calls this directly
no test coverage detected