@@ -690,6 +690,9 @@ def setUp(self):
690690 self .mock_get_asm_blocking_response = patcher .start ()
691691 self .addCleanup (patcher .stop )
692692
693+ with open ("tests/event_samples/api-gateway.json" ) as f :
694+ self .api_gateway_request = json .loads (f .read ())
695+
693696 self .fake_blocking_response = {
694697 "statusCode" : "403" ,
695698 "headers" : {
@@ -706,7 +709,7 @@ def test_blocking_before(self):
706709
707710 lambda_handler = wrapper .datadog_lambda_wrapper (mock_handler )
708711
709- response = lambda_handler ({} , get_mock_context ())
712+ response = lambda_handler (self . api_gateway_request , get_mock_context ())
710713 self .assertEqual (response , self .fake_blocking_response )
711714
712715 mock_handler .assert_not_called ()
@@ -715,27 +718,31 @@ def test_blocking_before(self):
715718 self .mock_asm_start_request .assert_called_once ()
716719 self .mock_asm_start_response .assert_not_called ()
717720
721+ assert lambda_handler .span .get_tag ("http.status_code" ) == "403"
722+
718723 def test_blocking_during (self ):
719724 self .mock_get_asm_blocking_response .return_value = None
720725
721- @wrapper .datadog_lambda_wrapper
722726 def lambda_handler (event , context ):
723727 self .mock_get_asm_blocking_response .return_value = (
724728 self .fake_blocking_response
725729 )
726730 raise wrapper .BlockingException ()
727731
728- response = lambda_handler ({}, get_mock_context ())
732+ lambda_handler = wrapper .datadog_lambda_wrapper (lambda_handler )
733+
734+ response = lambda_handler (self .api_gateway_request , get_mock_context ())
729735 self .assertEqual (response , self .fake_blocking_response )
730736
731737 self .mock_asm_set_context .assert_called_once ()
732738 self .mock_asm_start_request .assert_called_once ()
733739 self .mock_asm_start_response .assert_not_called ()
734740
741+ assert lambda_handler .span .get_tag ("http.status_code" ) == "403"
742+
735743 def test_blocking_after (self ):
736744 self .mock_get_asm_blocking_response .return_value = None
737745
738- @wrapper .datadog_lambda_wrapper
739746 def lambda_handler (event , context ):
740747 self .mock_get_asm_blocking_response .return_value = (
741748 self .fake_blocking_response
@@ -745,13 +752,17 @@ def lambda_handler(event, context):
745752 "body" : "This should not be returned" ,
746753 }
747754
748- response = lambda_handler ({}, get_mock_context ())
755+ lambda_handler = wrapper .datadog_lambda_wrapper (lambda_handler )
756+
757+ response = lambda_handler (self .api_gateway_request , get_mock_context ())
749758 self .assertEqual (response , self .fake_blocking_response )
750759
751760 self .mock_asm_set_context .assert_called_once ()
752761 self .mock_asm_start_request .assert_called_once ()
753762 self .mock_asm_start_response .assert_called_once ()
754763
764+ assert lambda_handler .span .get_tag ("http.status_code" ) == "403"
765+
755766 def test_no_blocking_appsec_disabled (self ):
756767 os .environ ["DD_APPSEC_ENABLED" ] = "false"
757768
@@ -764,14 +775,17 @@ def test_no_blocking_appsec_disabled(self):
764775 "body" : "This should be returned" ,
765776 }
766777
767- @wrapper .datadog_lambda_wrapper
768778 def lambda_handler (event , context ):
769779 return expected_response
770780
771- response = lambda_handler ({}, get_mock_context ())
781+ lambda_handler = wrapper .datadog_lambda_wrapper (lambda_handler )
782+
783+ response = lambda_handler (self .api_gateway_request , get_mock_context ())
772784 self .assertEqual (response , expected_response )
773785
774786 self .mock_get_asm_blocking_response .assert_not_called ()
775787 self .mock_asm_set_context .assert_not_called ()
776788 self .mock_asm_start_request .assert_not_called ()
777789 self .mock_asm_start_response .assert_not_called ()
790+
791+ assert lambda_handler .span .get_tag ("http.status_code" ) == "200"
0 commit comments