@@ -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+
10791124def test_multiple_positional_args (sentry_init ):
10801125 with pytest .raises (TypeError ) as exinfo :
10811126 sentry_init (1 , None )
0 commit comments