Skip to content

Commit

Permalink
Expanded error callback test
Browse files Browse the repository at this point in the history
  • Loading branch information
TimPansino committed Mar 28, 2023
1 parent c745512 commit f60dbf3
Showing 1 changed file with 21 additions and 12 deletions.
33 changes: 21 additions & 12 deletions tests/agent_features/test_error_events.py
Original file line number Diff line number Diff line change
Expand Up @@ -299,23 +299,28 @@ def test_error_event_outside_transaction_collect_error_events_false():


_callback_called = threading.Event()
_truncated_value = "A" * 300

def error_group_callback(exc, data):
_callback_called.set()

if isinstance(exc, ValueError):
return "value"
elif isinstance(exc, ZeroDivisionError):
return _truncated_value
elif isinstance(exc, TypeError):
return ""


@pytest.mark.parametrize("exc_class,group_name", [
(ValueError, "value"),
(TypeError, None),
(RuntimeError, None),
])
@pytest.mark.parametrize("exc_class,group_name,high_security", [
(ValueError, "value", False),
(ValueError, "value", True),
(TypeError, None, False),
(RuntimeError, None, False),
(ZeroDivisionError, _truncated_value[:255], False),
], ids=("standard", "high-security", "empty-string", "None-value", "truncated-value"))
@reset_core_stats_engine()
def test_error_group_name_callback(exc_class, group_name):
def test_error_group_name_callback(exc_class, group_name, high_security):
_callback_called.clear()

if group_name is not None:
Expand All @@ -329,6 +334,7 @@ def test_error_group_name_callback(exc_class, group_name):
callable_name(exc_class), forgone_params=forgone, exact_attrs=exact
)
@validate_error_event_attributes(forgone_params=forgone, exact_attrs=exact)
@override_application_settings({"high_security": high_security})
@background_task()
def _test():

Expand All @@ -346,13 +352,15 @@ def _test():
set_error_group_callback(None)


@pytest.mark.parametrize("exc_class,group_name", [
(ValueError, "value"),
(TypeError, None),
(RuntimeError, None),
])
@pytest.mark.parametrize("exc_class,group_name,high_security", [
(ValueError, "value", False),
(ValueError, "value", True),
(TypeError, None, False),
(RuntimeError, None, False),
(ZeroDivisionError, _truncated_value[:255], False),
], ids=("standard", "high-security", "empty-string", "None-value", "truncated-value"))
@reset_core_stats_engine()
def test_error_group_name_callback_outside_transaction(exc_class, group_name):
def test_error_group_name_callback_outside_transaction(exc_class, group_name, high_security):
_callback_called.clear()

if group_name is not None:
Expand All @@ -366,6 +374,7 @@ def test_error_group_name_callback_outside_transaction(exc_class, group_name):
callable_name(exc_class), forgone_params=forgone, exact_attrs=exact
)
@validate_error_event_attributes_outside_transaction(forgone_params=forgone, exact_attrs=exact)
@override_application_settings({"high_security": high_security})
def _test():
try:
raise exc_class()
Expand Down

0 comments on commit f60dbf3

Please sign in to comment.