Skip to content

Commit dde0710

Browse files
committed
tests: Add direct test for wsgi middleware
1 parent 1a66198 commit dde0710

File tree

2 files changed

+34
-1
lines changed

2 files changed

+34
-1
lines changed

tests/integrations/wsgi/test_wsgi.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
from werkzeug.test import Client
2+
import pytest
3+
4+
from sentry_sdk.integrations._wsgi import run_wsgi_app
5+
6+
7+
@pytest.fixture
8+
def crashing_app():
9+
def app(environ, start_response):
10+
1 / 0
11+
12+
return app
13+
14+
15+
def test_basic(sentry_init, crashing_app, capture_events):
16+
sentry_init(send_default_pii=True)
17+
app = lambda environ, start_response: run_wsgi_app(
18+
crashing_app, environ, start_response
19+
)
20+
client = Client(app)
21+
events = capture_events()
22+
23+
with pytest.raises(ZeroDivisionError):
24+
client.get("/")
25+
26+
event, = events
27+
28+
assert event["request"] == {
29+
"env": {"SERVER_NAME": "localhost", "SERVER_PORT": "80"},
30+
"headers": {"Content-Length": "0", "Content-Type": "", "Host": "localhost"},
31+
"method": "GET",
32+
"query_string": "",
33+
}

tox.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ deps =
2929
pytest-localserver
3030
pytest-xdist
3131
hypothesis
32+
werkzeug
3233
django-{1.6,1.7,1.8}: pytest-django<3.0
3334
django-{1.9,1.10,1.11,2.0,2.1,dev}: pytest-django>=3.0
3435
django-1.6: Django>=1.6,<1.7
@@ -47,7 +48,6 @@ deps =
4748
celery-3: Celery>=3.1,<4.0
4849
celery-4: Celery>=4.0,<5.0
4950
flask: flask-login
50-
django: werkzeug
5151
linters: black
5252
linters: flake8
5353
setenv =

0 commit comments

Comments
 (0)