Skip to content

Commit da58464

Browse files
add test
1 parent e83b34f commit da58464

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

tests/test_metrics.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,45 @@ def test_metrics_tracing_without_performance(sentry_init, capture_envelopes):
168168
def test_metrics_before_send(sentry_init, capture_envelopes):
169169
before_metric_called = False
170170

171+
def _before_metric(record, hint):
172+
nonlocal before_metric_called
173+
174+
assert set(record.keys()) == {
175+
"timestamp",
176+
"trace_id",
177+
"span_id",
178+
"name",
179+
"type",
180+
"value",
181+
"unit",
182+
"attributes",
183+
}
184+
185+
if record["name"] == "test.skip":
186+
return None
187+
188+
before_metric_called = True
189+
return record
190+
191+
sentry_init(
192+
before_send_metric=_before_metric,
193+
)
194+
envelopes = capture_envelopes()
195+
196+
sentry_sdk.metrics.count("test.skip", 1)
197+
sentry_sdk.metrics.count("test.keep", 1)
198+
199+
get_client().flush()
200+
201+
metrics = envelopes_to_metrics(envelopes)
202+
assert len(metrics) == 1
203+
assert metrics[0]["name"] == "test.keep"
204+
assert before_metric_called
205+
206+
207+
def test_metrics_experimental_before_send(sentry_init, capture_envelopes):
208+
before_metric_called = False
209+
171210
def _before_metric(record, hint):
172211
nonlocal before_metric_called
173212

0 commit comments

Comments
 (0)