def test_errors( sentry_init, capture_exceptions, capture_events, app, debug, catchall, get_client ): sentry_init(integrations=[bottle_sentry.BottleIntegration()]) app.catchall = catchall set_debug(mode=debug) exceptions = capture_exceptions() events = capture_events() @app.route("/") def index(): 1 / 0 client = get_client() try: client.get("/") except ZeroDivisionError: pass (exc,) = exceptions assert isinstance(exc, ZeroDivisionError) (event,) = events assert event["exception"]["values"][0]["mechanism"]["type"] == "bottle" assert event["exception"]["values"][0]["mechanism"]["handled"] is False
def test_error_in_errorhandler(sentry_init, capture_events, app, get_client): sentry_init(integrations=[bottle_sentry.BottleIntegration()]) set_debug(False) app.catchall = True @app.route("/") def index(): raise ValueError() @app.error(500) def error_handler(err): 1 / 0 events = capture_events() client = get_client() with pytest.raises(ZeroDivisionError): client.get("/") event1, event2 = events (exception,) = event1["exception"]["values"] assert exception["type"] == "ValueError" exception = event2["exception"]["values"][0] assert exception["type"] == "ZeroDivisionError"
def main(): host = "localhost" port = 8000 authapp = AuthApp() app = authapp.get_bottle_app() set_debug(True) run(host=host, port=port, app=app)
def main(): host = "localhost" port = 8000 # These are the test keys, replace with real ones! k1 = "4rakTQJDyhaYgoew802q78pNnsXR7ClvbYtAF1YC87o=" k2 = "hyQijpEEe9z1OB9NOkHvmSA4lC1B4lu1n80bKNx0Uz0=" salt = "4rakTQJD4lC1B4lu" authapp = AuthApp(k1, k2, salt, is_https=False) app = authapp.get_bottle_app() set_debug(True) run(host=host, port=port, app=app)
def test_500(sentry_init, capture_events, app, get_client): sentry_init(integrations=[bottle_sentry.BottleIntegration()]) set_debug(False) app.catchall = True @app.route("/") def index(): 1 / 0 @app.error(500) def error_handler(err): capture_message("error_msg") return "My error" events = capture_events() client = get_client() response = client.get("/") assert response[1] == "500 Internal Server Error" _, event = events assert event["message"] == "error_msg"