Skip to content

Commit 4f1963c

Browse files
committed
Add test
1 parent 0b64a40 commit 4f1963c

File tree

1 file changed

+39
-2
lines changed

1 file changed

+39
-2
lines changed

tests/integrations/litestar/test_litestar.py

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
from litestar.middleware.rate_limit import RateLimitConfig
1717
from litestar.middleware.session.server_side import ServerSideSessionConfig
1818
from litestar.testing import TestClient
19-
2019
from tests.integrations.conftest import parametrize_test_configurable_status_codes
2120

2221

@@ -402,7 +401,7 @@ async def __call__(self, scope, receive, send):
402401

403402

404403
@parametrize_test_configurable_status_codes
405-
def test_configurable_status_codes(
404+
def test_configurable_status_codes_handler(
406405
sentry_init,
407406
capture_events,
408407
failed_request_status_codes,
@@ -427,3 +426,41 @@ async def error() -> None:
427426
client.get("/error")
428427

429428
assert len(events) == int(expected_error)
429+
430+
# @pytest.mark.parametrize(
431+
# ("failed_request_status_codes", "status_code", "expected_error"),
432+
# (
433+
# (set(), 500, False),
434+
# ),
435+
# )
436+
@parametrize_test_configurable_status_codes
437+
def test_configurable_status_codes_middleware(
438+
sentry_init,
439+
capture_events,
440+
failed_request_status_codes,
441+
status_code,
442+
expected_error,
443+
):
444+
integration_kwargs = (
445+
{"failed_request_status_codes": failed_request_status_codes}
446+
if failed_request_status_codes is not None
447+
else {}
448+
)
449+
sentry_init(integrations=[LitestarIntegration(**integration_kwargs)])
450+
451+
events = capture_events()
452+
453+
def create_raising_middleware(app):
454+
async def raising_middleware(scope, receive, send):
455+
raise HTTPException(status_code=status_code)
456+
return raising_middleware
457+
458+
@get("/error")
459+
async def error() -> None:
460+
...
461+
462+
app = Litestar([error], middleware=[create_raising_middleware])
463+
client = TestClient(app)
464+
client.get("/error")
465+
466+
assert len(events) == int(expected_error)

0 commit comments

Comments
 (0)