From 9878b25de5cd9b00d6f993b40f0e008ab17909fe Mon Sep 17 00:00:00 2001 From: "dylan.yang" Date: Mon, 26 Apr 2021 13:32:12 -0400 Subject: [PATCH] type check event for trigger tags --- datadog_lambda/trigger.py | 2 ++ tests/test_trigger.py | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/datadog_lambda/trigger.py b/datadog_lambda/trigger.py index b574b8f4..2dffd0b4 100644 --- a/datadog_lambda/trigger.py +++ b/datadog_lambda/trigger.py @@ -39,6 +39,8 @@ def parse_event_source(event): api-gateway | application-load-balancer | cloudwatch-logs | cloudwatch-events | cloudfront | dynamodb | kinesis | s3 | sns | sqs """ + if type(event) is not dict: + return event_source = event.get("eventSource") or event.get("EventSource") request_context = event.get("requestContext") diff --git a/tests/test_trigger.py b/tests/test_trigger.py index bc60e85a..85bd4e6b 100644 --- a/tests/test_trigger.py +++ b/tests/test_trigger.py @@ -330,6 +330,12 @@ def test_extract_trigger_tags_unsupported(self): tags = extract_trigger_tags(event, ctx) self.assertEqual(tags, {}) + def test_extract_trigger_tags_list_type_event(self): + event = [] + ctx = get_mock_context() + tags = extract_trigger_tags(event, ctx) + self.assertEqual(tags, {}) + class ExtractHTTPStatusCodeTag(unittest.TestCase): def test_extract_http_status_code_tag_from_response_dict(self):