Skip to content

Commit dd40042

Browse files
committed
Testing for exception_replay_enabled.
1 parent 8cc11eb commit dd40042

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

tests/test_wrapper.py

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -789,3 +789,45 @@ def lambda_handler(event, context):
789789
self.mock_asm_start_response.assert_not_called()
790790

791791
assert lambda_handler.span.get_tag("http.status_code") == "200"
792+
793+
794+
@patch("datadog_lambda.config.Config.exception_replay_enabled", True)
795+
def test_exception_replay_enabled(monkeypatch):
796+
importlib.reload(wrapper)
797+
798+
original_SpanExceptionHandler_enable = wrapper.SpanExceptionHandler.enable
799+
SpanExceptionHandler_enable_calls = []
800+
801+
def SpanExceptionHandler_enable(*args, **kwargs):
802+
SpanExceptionHandler_enable_calls.append((args, kwargs))
803+
return original_SpanExceptionHandler_enable(*args, **kwargs)
804+
805+
original_SignalUploader_periodic = wrapper.SignalUploader.periodic
806+
SignalUploader_periodic_calls = []
807+
808+
def SignalUploader_periodic(*args, **kwargs):
809+
SignalUploader_periodic_calls.append((args, kwargs))
810+
return original_SignalUploader_periodic(*args, **kwargs)
811+
812+
monkeypatch.setattr(
813+
"datadog_lambda.wrapper.SpanExceptionHandler.enable",
814+
SpanExceptionHandler_enable,
815+
)
816+
monkeypatch.setattr(
817+
"datadog_lambda.wrapper.SignalUploader.periodic", SignalUploader_periodic
818+
)
819+
820+
expected_response = {
821+
"statusCode": 200,
822+
"body": "This should be returned",
823+
}
824+
825+
@wrapper.datadog_lambda_wrapper
826+
def lambda_handler(event, context):
827+
return expected_response
828+
829+
response = lambda_handler({}, get_mock_context())
830+
831+
assert response == expected_response
832+
assert len(SpanExceptionHandler_enable_calls) == 1
833+
assert len(SignalUploader_periodic_calls) == 1

0 commit comments

Comments
 (0)