@@ -275,6 +275,61 @@ def lambda_handler(event, context):
275275 ]
276276 )
277277
278+ @patch ("datadog_lambda.wrapper.extract_trigger_tags" )
279+ def test_5xx_sends_errors_metric_and_set_tags (self , mock_extract_trigger_tags ):
280+ mock_extract_trigger_tags .return_value = {
281+ "function_trigger.event_source" : "api-gateway" ,
282+ "function_trigger.event_source_arn" : "arn:aws:apigateway:us-west-1::/restapis/1234567890/stages/prod" ,
283+ "http.url" : "70ixmpl4fl.execute-api.us-east-2.amazonaws.com" ,
284+ "http.url_details.path" : "/prod/path/to/resource" ,
285+ "http.method" : "GET" ,
286+ }
287+
288+ @datadog_lambda_wrapper
289+ def lambda_handler (event , context ):
290+ return {"statusCode" : 500 , "body" : "fake response body" }
291+
292+ lambda_event = {}
293+
294+ lambda_handler (lambda_event , get_mock_context ())
295+
296+ self .mock_write_metric_point_to_stdout .assert_has_calls (
297+ [
298+ call (
299+ "aws.lambda.enhanced.invocations" ,
300+ 1 ,
301+ tags = [
302+ "region:us-west-1" ,
303+ "account_id:123457598159" ,
304+ "functionname:python-layer-test" ,
305+ "resource:python-layer-test:1" ,
306+ "cold_start:true" ,
307+ "memorysize:256" ,
308+ "runtime:python3.9" ,
309+ "datadog_lambda:v6.6.6" ,
310+ "dd_lambda_layer:datadog-python39_X.X.X" ,
311+ ],
312+ timestamp = None ,
313+ ),
314+ call (
315+ "aws.lambda.enhanced.errors" ,
316+ 1 ,
317+ tags = [
318+ "region:us-west-1" ,
319+ "account_id:123457598159" ,
320+ "functionname:python-layer-test" ,
321+ "resource:python-layer-test:1" ,
322+ "cold_start:true" ,
323+ "memorysize:256" ,
324+ "runtime:python3.9" ,
325+ "datadog_lambda:v6.6.6" ,
326+ "dd_lambda_layer:datadog-python39_X.X.X" ,
327+ ],
328+ timestamp = None ,
329+ ),
330+ ]
331+ )
332+
278333 def test_enhanced_metrics_cold_start_tag (self ):
279334 @datadog_lambda_wrapper
280335 def lambda_handler (event , context ):
0 commit comments