Skip to content

Commit edcfc1f

Browse files
committed
ref: Polish Starlette tests
1 parent 497ba92 commit edcfc1f

1 file changed

Lines changed: 32 additions & 26 deletions

File tree

tests/integrations/starlette/test_starlette.py

Lines changed: 32 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -707,7 +707,7 @@ async def test_cookie_data_collection(
707707
],
708708
)
709709
def test_query_string_data_collection(
710-
sentry_init, capture_events, init_kwargs, expected_query_string
710+
sentry_init, capture_items, init_kwargs, expected_query_string
711711
):
712712
sentry_init(
713713
traces_sample_rate=1.0,
@@ -717,17 +717,29 @@ def test_query_string_data_collection(
717717
)
718718

719719
starlette_app = starlette_app_factory()
720-
events = capture_events()
720+
items = capture_items("event", "span")
721721

722722
client = TestClient(starlette_app)
723723
client.get("/message?" + QUERY_STRING)
724724

725+
sentry_sdk.flush()
726+
727+
events = [item.payload for item in items if item.type == "event"]
725728
(event,) = events
726729

730+
segments = [
731+
item.payload
732+
for item in items
733+
if item.type == "span" and item.payload.get("is_segment")
734+
]
735+
assert len(segments) == 1
736+
727737
if expected_query_string is None:
728738
assert "query_string" not in event["request"]
739+
assert SPANDATA.HTTP_QUERY not in segments[0]["attributes"]
729740
else:
730741
assert event["request"]["query_string"] == expected_query_string
742+
assert segments[0]["attributes"][SPANDATA.HTTP_QUERY] == expected_query_string
731743

732744

733745
@pytest.mark.parametrize(
@@ -919,7 +931,6 @@ def test_transaction_style(
919931

920932
def test_host_route_path_has_url_source(sentry_init, capture_items):
921933
sentry_init(
922-
auto_enabling_integrations=False,
923934
integrations=[StarletteIntegration(transaction_style="url")],
924935
traces_sample_rate=1.0,
925936
trace_lifecycle="stream",
@@ -1302,7 +1313,6 @@ def test_middleware_partial_receive_send(sentry_init, capture_items):
13021313
sentry_init(
13031314
traces_sample_rate=1.0,
13041315
integrations=[StarletteIntegration()],
1305-
auto_enabling_integrations=False,
13061316
trace_lifecycle="stream",
13071317
)
13081318
starlette_app = starlette_app_factory(
@@ -1321,46 +1331,42 @@ def test_middleware_partial_receive_send(sentry_init, capture_items):
13211331
segment = items.pop().payload
13221332
middleware_spans = [item.payload for item in items]
13231333

1324-
# In span-first, the `middleware.starlette.send` ops appear first,
1325-
# so the list needs to be reversed for the assertions below
1326-
middleware_spans.reverse()
1327-
13281334
expected = [
13291335
{
1330-
"op": "middleware.starlette",
1331-
"description": "ServerErrorMiddleware",
1336+
"op": "middleware.starlette.send",
1337+
"description": "functools.partial(<function SamplePartialReceiveSendMiddleware.__call__.<locals>.my_send at ",
13321338
},
13331339
{
1334-
"op": "middleware.starlette",
1335-
"description": "SamplePartialReceiveSendMiddleware",
1340+
"op": "middleware.starlette.send",
1341+
"description": "functools.partial(<function SamplePartialReceiveSendMiddleware.__call__.<locals>.my_send at ",
13361342
},
13371343
{
1338-
"op": "middleware.starlette.receive",
1339-
"description": (
1340-
"_ASGIAdapter.send.<locals>.receive"
1341-
if STARLETTE_VERSION < (0, 21)
1342-
else "_TestClientTransport.handle_request.<locals>.receive"
1343-
),
1344+
"op": "middleware.starlette",
1345+
"description": "ExceptionMiddleware",
13441346
},
13451347
{
13461348
"op": "middleware.starlette.send",
1347-
"description": "ServerErrorMiddleware.__call__.<locals>._send",
1349+
"description": "SentryAsgiMiddleware._run_app.<locals>._sentry_wrapped_send",
13481350
},
13491351
{
13501352
"op": "middleware.starlette.send",
1351-
"description": "SentryAsgiMiddleware._run_app.<locals>._sentry_wrapped_send",
1353+
"description": "ServerErrorMiddleware.__call__.<locals>._send",
13521354
},
13531355
{
1354-
"op": "middleware.starlette",
1355-
"description": "ExceptionMiddleware",
1356+
"op": "middleware.starlette.receive",
1357+
"description": (
1358+
"_ASGIAdapter.send.<locals>.receive"
1359+
if STARLETTE_VERSION < (0, 21)
1360+
else "_TestClientTransport.handle_request.<locals>.receive"
1361+
),
13561362
},
13571363
{
1358-
"op": "middleware.starlette.send",
1359-
"description": "functools.partial(<function SamplePartialReceiveSendMiddleware.__call__.<locals>.my_send at ",
1364+
"op": "middleware.starlette",
1365+
"description": "SamplePartialReceiveSendMiddleware",
13601366
},
13611367
{
1362-
"op": "middleware.starlette.send",
1363-
"description": "functools.partial(<function SamplePartialReceiveSendMiddleware.__call__.<locals>.my_send at ",
1368+
"op": "middleware.starlette",
1369+
"description": "ServerErrorMiddleware",
13641370
},
13651371
]
13661372

0 commit comments

Comments
 (0)