@@ -132,21 +132,26 @@ def test_middleware_exceptions(sentry_init, client, capture_exceptions):
132132 assert isinstance (error , ZeroDivisionError )
133133
134134
135+ @pytest .mark .parametrize ("span_streaming" , [True , False ])
135136def test_request_captured (
136137 sentry_init ,
137138 client ,
139+ capture_events ,
138140 capture_items ,
141+ span_streaming ,
139142):
140143 sentry_init (
141144 integrations = [DjangoIntegration ()],
142145 send_default_pii = True ,
146+ trace_lifecycle = "stream" if span_streaming else "static" ,
143147 )
144148 items = capture_items ("event" )
145149 content , status , headers = unpack_werkzeug_response (client .get (reverse ("message" )))
146150
147151 assert content == b"ok"
148152
149153 (event ,) = (item .payload for item in items )
154+
150155 assert event ["transaction" ] == "/message"
151156 assert event ["request" ] == {
152157 "cookies" : {},
@@ -1187,20 +1192,27 @@ def raw_data(self):
11871192 assert "data" not in event ["request" ]
11881193
11891194
1195+ @pytest .mark .parametrize ("span_streaming" , [True , False ])
11901196def test_template_tracing_meta (
11911197 sentry_init ,
11921198 client ,
1199+ capture_events ,
11931200 capture_items ,
1201+ span_streaming ,
11941202):
11951203 sentry_init (
11961204 integrations = [DjangoIntegration ()],
1205+ trace_lifecycle = "stream" if span_streaming else "static" ,
11971206 )
1207+
11981208 items = capture_items ("event" )
11991209
12001210 content , _ , _ = unpack_werkzeug_response (client .get (reverse ("template_test3" )))
12011211 rendered_meta = content .decode ("utf-8" )
12021212
1203- traceparent , baggage = items [0 ].payload ["message" ].split ("\n " )
1213+ events = [item .payload for item in items ]
1214+
1215+ traceparent , baggage = events [0 ]["message" ].split ("\n " )
12041216 assert traceparent != ""
12051217 assert baggage != ""
12061218
@@ -1427,19 +1439,24 @@ def test_rest_framework_authentication_span_without_authenticators(
14271439@pytest .mark .parametrize (
14281440 "endpoint" , ["rest_permission_denied_exc" , "permission_denied_exc" ]
14291441)
1442+ @pytest .mark .parametrize ("span_streaming" , [True , False ])
14301443def test_does_not_capture_403 (
14311444 sentry_init ,
14321445 client ,
1446+ capture_events ,
14331447 capture_items ,
14341448 endpoint ,
1449+ span_streaming ,
14351450):
14361451 if endpoint == "rest_permission_denied_exc" :
14371452 pytest .importorskip ("rest_framework" )
14381453
14391454 sentry_init (
14401455 integrations = [DjangoIntegration ()],
1456+ trace_lifecycle = "stream" if span_streaming else "static" ,
14411457 )
1442- items = capture_items ("event" )
1458+
1459+ items = capture_items ("event" , "transaction" , "span" )
14431460
14441461 _ , status , _ = unpack_werkzeug_response (client .get (reverse (endpoint )))
14451462 assert status .lower () == "403 forbidden"
0 commit comments