Skip to content

Commit b3425a7

Browse files
committed
test(breadcrumbs): Add regression tests for breadcrumb truncation _meta (#3996)
1 parent 85e7ce6 commit b3425a7

1 file changed

Lines changed: 45 additions & 0 deletions

File tree

‎tests/test_client.py‎

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1076,6 +1076,51 @@ def test_max_breadcrumbs_option(
10761076
assert len(events[0]["breadcrumbs"]["values"]) == expected_breadcrumbs
10771077

10781078

1079+
def test_breadcrumbs_truncated_meta(sentry_init, capture_events):
1080+
sentry_init(max_breadcrumbs=3)
1081+
events = capture_events()
1082+
1083+
for i in range(10):
1084+
add_breadcrumb({"message": f"crumb {i}"})
1085+
1086+
capture_message("dogs are great")
1087+
1088+
(event,) = events
1089+
1090+
assert len(event["breadcrumbs"]["values"]) == 3
1091+
assert event["_meta"]["breadcrumbs"] == {"": {"len": 10}}
1092+
1093+
1094+
def test_breadcrumbs_not_truncated_no_meta(sentry_init, capture_events):
1095+
sentry_init(max_breadcrumbs=3)
1096+
events = capture_events()
1097+
1098+
for i in range(3):
1099+
add_breadcrumb({"message": f"crumb {i}"})
1100+
1101+
capture_message("dogs are great")
1102+
1103+
(event,) = events
1104+
1105+
assert len(event["breadcrumbs"]["values"]) == 3
1106+
assert "breadcrumbs" not in event.get("_meta", {})
1107+
1108+
1109+
def test_breadcrumbs_truncated_meta_from_child_scope(sentry_init, capture_events):
1110+
sentry_init(max_breadcrumbs=2)
1111+
events = capture_events()
1112+
1113+
with sentry_sdk.new_scope() as scope:
1114+
for i in range(5):
1115+
scope.add_breadcrumb({"message": f"crumb {i}"})
1116+
capture_message("dogs are great")
1117+
1118+
(event,) = events
1119+
1120+
assert len(event["breadcrumbs"]["values"]) == 2
1121+
assert event["_meta"]["breadcrumbs"] == {"": {"len": 5}}
1122+
1123+
10791124
def test_multiple_positional_args(sentry_init):
10801125
with pytest.raises(TypeError) as exinfo:
10811126
sentry_init(1, None)

0 commit comments

Comments
 (0)