8000 test: More tests for django post body · etherscan-io/sentry-python@2b0c68b · GitHub
[go: up one dir, main page]

Skip to content

Commit 2b0c68b

Browse files
committed
test: More tests for django post body
1 parent dcbf27f commit 2b0c68b

File tree

3 files changed

+36
-0
lines changed

3 files changed

+36
-0
lines changed

tests/integrations/django/myapp/urls.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
path("message", views.message, name="message"),
2929
path("mylogin", views.mylogin, name="mylogin"),
3030
path("classbased", views.ClassBasedView.as_view(), name="classbased"),
31+
path("post-echo", views.post_echo, name="post_echo"),
3132
]
3233

3334
handler500 = views.handler500

tests/integrations/django/myapp/views.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,8 @@ class ClassBasedView(ListView):
3232
def head(self, *args, **kwargs):
3333
sentry_sdk.capture_message("hi")
3434
return HttpResponse("")
35+
36+
37+
def post_echo(request):
38+
sentry_sdk.capture_message("hi")
39+
return HttpResponse(request.body)

tests/integrations/django/test_basic.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,3 +185,33 @@ def test_transaction_style(
185185

186186
event, = events
187187
assert event["transaction"] == expected_transaction
188+
189+
190+
def test_request_body(sentry_init, client, capture_events):
191+
sentry_init(integrations=[DjangoIntegration()])
192+
events = capture_events()
193+
content, status, headers = client.post(
194+
reverse("post_echo"), data=b"heyooo", content_type="text/plain"
195+
)
196+
assert status.lower() == "200 ok"
197+
assert b"".join(content) == b"heyooo"
198+
199+
event, = events
200+
201+
assert event["message"] == "hi"
202+
assert event["request"]["data"] == ""
203+
assert event[""]["request"]["data"][""] == {"len": 6, "rem": [["!raw", "x", 0, 6]]}
204+
205+
del events[:]
206+
207+
content, status, headers = client.post(
208+
reverse("post_echo"), data=b'{"hey": 42}', content_type="application/json"
209+
)
210+
assert status.lower() == "200 ok"
211+
assert b"".join(content) == b'{"hey": 42}'
212+
213+
event, = events
214+
215+
assert event["message"] == "hi"
216+
assert event["request"]["data"] == {"hey": 42}
217+
assert "" not in event

0 commit comments

Comments
 (0)
0