Skip to content

Commit ddf5deb

Browse files
fix test_s3
1 parent 744d18f commit ddf5deb

1 file changed

Lines changed: 31 additions & 35 deletions

File tree

‎tests/integrations/boto3/test_s3.py‎

Lines changed: 31 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -110,13 +110,19 @@ def test_streaming(
110110
spans = [item.payload for item in items]
111111
assert len(spans) == 3
112112

113-
(span1,) = (
114-
item
115-
for item in spans
116-
if item["attributes"].get("sentry.op") == "http.client"
117-
)
118-
assert span1["attributes"]["sentry.op"] == "http.client"
119-
assert span1["name"] == "aws.s3.GetObject"
113+
stream_span, client_span, parent_span = spans
114+
assert stream_span["attributes"]["sentry.op"] == "http.client.stream"
115+
assert stream_span["name"] == "aws.s3.GetObject"
116+
assert stream_span["parent_span_id"] == client_span["span_id"]
117+
118+
assert client_span["attributes"]["sentry.op"] == "http.client"
119+
assert client_span["name"] == "aws.s3.GetObject"
120+
assert client_span["parent_span_id"] == parent_span["span_id"]
121+
122+
assert parent_span["name"] == "custom parent"
123+
assert parent_span["start_timestamp"] <= client_span["start_timestamp"]
124+
assert client_span["start_timestamp"] <= stream_span["start_timestamp"]
125+
assert stream_span["end_timestamp"] <= client_span["end_timestamp"]
120126

121127
expected_attrs = {
122128
"http.request.method": "GET",
@@ -136,22 +142,12 @@ def test_streaming(
136142
}
137143
if send_default_pii:
138144
expected_attrs["url.full"] = "https://bucket.s3.amazonaws.com/foo.pdf"
139-
assert span1["attributes"] == ApproxDict(expected_attrs)
145+
assert client_span["attributes"] == ApproxDict(expected_attrs)
140146

141-
assert "url.fragment" not in span1["attributes"]
142-
assert "url.query" not in span1["attributes"]
147+
assert "url.fragment" not in client_span["attributes"]
148+
assert "url.query" not in client_span["attributes"]
143149
if not send_default_pii:
144-
assert "url.full" not in span1["attributes"]
145-
146-
(span2,) = (
147-
item
148-
for item in spans
149-
if item["attributes"].get("sentry.op") == "http.client.stream"
150-
)
151-
assert span2["attributes"]["sentry.op"] == "http.client.stream"
152-
assert span2["name"] == "aws.s3.GetObject"
153-
assert span2["parent_span_id"] == span1["span_id"]
154-
assert span2["end_timestamp"] <= span1["end_timestamp"]
150+
assert "url.full" not in client_span["attributes"]
155151
else:
156152
events = capture_events()
157153

@@ -217,20 +213,20 @@ def test_streaming_close(
217213
sentry_sdk.flush()
218214
spans = [item.payload for item in items]
219215
assert len(spans) == 3
220-
(span1,) = (
221-
item
222-
for item in spans
223-
if item["attributes"].get("sentry.op") == "http.client"
224-
)
225-
assert span1["attributes"]["sentry.op"] == "http.client"
226-
(span2,) = (
227-
item
228-
for item in spans
229-
if item["attributes"].get("sentry.op") == "http.client.stream"
230-
)
231-
assert span2["attributes"]["sentry.op"] == "http.client.stream"
232-
assert span2["parent_span_id"] == span1["span_id"]
233-
assert span2["end_timestamp"] <= span1["end_timestamp"]
216+
217+
stream_span, client_span, parent_span = spans
218+
assert stream_span["attributes"]["sentry.op"] == "http.client.stream"
219+
assert stream_span["name"] == "aws.s3.GetObject"
220+
assert stream_span["parent_span_id"] == client_span["span_id"]
221+
222+
assert client_span["attributes"]["sentry.op"] == "http.client"
223+
assert client_span["name"] == "aws.s3.GetObject"
224+
assert client_span["parent_span_id"] == parent_span["span_id"]
225+
226+
assert parent_span["name"] == "custom parent"
227+
assert parent_span["start_timestamp"] <= client_span["start_timestamp"]
228+
assert client_span["start_timestamp"] <= stream_span["start_timestamp"]
229+
assert stream_span["end_timestamp"] <= client_span["end_timestamp"]
234230
else:
235231
events = capture_events()
236232

0 commit comments

Comments
 (0)