22 lines
537 B
Python
22 lines
537 B
Python
import asyncio
|
|
|
|
from asyncio import CancelledError
|
|
|
|
import pytest
|
|
|
|
from sanic import Request, Sanic, json
|
|
|
|
|
|
def test_can_raise_in_handler(app: Sanic):
|
|
@app.get("/")
|
|
async def handler(request: Request):
|
|
raise CancelledError("STOP!!")
|
|
|
|
@app.exception(CancelledError)
|
|
async def handle_cancel(request: Request, exc: CancelledError):
|
|
return json({"message": exc.args[0]}, status=418)
|
|
|
|
_, response = app.test_client.get("/")
|
|
assert response.status == 418
|
|
assert response.json["message"] == "STOP!!"
|