Skip to content

Commit 8c0c53c

Browse files
committed
test(django): Add test for read bodies, see getsentry#267
1 parent cdad688 commit 8c0c53c

File tree

3 files changed

+27
-0
lines changed

3 files changed

+27
-0
lines changed

tests/integrations/django/myapp/urls.py

+5
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,11 @@
2424

2525
urlpatterns = [
2626
path("view-exc", views.view_exc, name="view_exc"),
27+
path(
28+
"read-body-and-view-exc",
29+
views.read_body_and_view_exc,
30+
name="read_body_and_view_exc",
31+
),
2732
path("middleware-exc", views.message, name="middleware_exc"),
2833
path("message", views.message, name="message"),
2934
path("mylogin", views.mylogin, name="mylogin"),

tests/integrations/django/myapp/views.py

+5
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ def view_exc(request):
2323
1 / 0
2424

2525

26+
def read_body_and_view_exc(request):
27+
request.read()
28+
1 / 0
29+
30+
2631
def message(request):
2732
sentry_sdk.capture_message("hi")
2833
return HttpResponse("ok")

tests/integrations/django/test_basic.py

+17
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,23 @@ def test_request_body(sentry_init, client, capture_events):
359359
assert "" not in event
360360

361361

362+
def test_read_request(sentry_init, client, capture_events):
363+
sentry_init(integrations=[DjangoIntegration()])
364+
events = capture_events()
365+
366+
content, status, headers = client.post(
367+
reverse("read_body_and_view_exc"),
368+
data=b'{"hey": 42}',
369+
content_type="application/json",
370+
)
371+
372+
assert status.lower() == "500 internal server error"
373+
374+
event, = events
375+
376+
assert event["request"]["data"] == {"hey": 42}
377+
378+
362379
def test_template_exception(sentry_init, client, capture_events):
363380
sentry_init(integrations=[DjangoIntegration()])
364381
events = capture_events()

0 commit comments

Comments
 (0)