From 6c06a42b15e69835cb72c82ef48342e189c0b9e3 Mon Sep 17 00:00:00 2001 From: LuisFigueroaG Date: Mon, 5 Oct 2026 23:27:47 -0300 Subject: [PATCH] test(parser): cover optional SES common headers including replyTo --- tests/unit/parser/_pydantic/test_ses.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tests/unit/parser/_pydantic/test_ses.py b/tests/unit/parser/_pydantic/test_ses.py index 91d005fe47e..e07617cdc3f 100644 --- a/tests/unit/parser/_pydantic/test_ses.py +++ b/tests/unit/parser/_pydantic/test_ses.py @@ -95,3 +95,25 @@ def test_ses_reply_to_header(): reply_to=["reply-kwarg@example.com"], ) assert headers_kwarg.reply_to == ["reply-kwarg@example.com"] + + +def test_ses_trigger_event_with_optional_common_headers(): + # GIVEN an SES event with cc, bcc, sender and reply-to common headers + raw_event = load_event("sesEvent.json") + raw_event["Records"][0]["ses"]["mail"]["commonHeaders"].update( + { + "cc": ["cc@example.com"], + "bcc": ["bcc@example.com"], + "sender": ["sender@example.com"], + "replyTo": ["reply@example.com"], + }, + ) + + # WHEN parsing the event + common_headers = SesModel(**raw_event).Records[0].ses.mail.commonHeaders + + # THEN the optional common headers are populated + assert common_headers.cc == ["cc@example.com"] + assert common_headers.bcc == ["bcc@example.com"] + assert common_headers.sender == ["sender@example.com"] + assert common_headers.reply_to == ["reply@example.com"]