Skip to content

Commit 251d8ba

Browse files
committed
Add negative functional tests for SqsS3EventNotificationModel
1 parent 70e7b1c commit 251d8ba

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

tests/functional/parser/test_sqs_s3_event_notification.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
from aws_lambda_powertools.utilities.parser import event_parser
1+
import pytest
2+
3+
from aws_lambda_powertools.utilities.parser import ValidationError, event_parser
24
from aws_lambda_powertools.utilities.parser.models import SqsS3EventNotificationModel
35
from aws_lambda_powertools.utilities.typing import LambdaContext
46
from tests.functional.utils import json_serialize, load_event
@@ -20,3 +22,19 @@ def test_handle_sqs_json_body_containing_s3_notifications():
2022
assert len(parsed_event.Records) == 2
2123
for parsed_sqs_record in parsed_event.Records:
2224
assert_s3(parsed_sqs_record.body)
25+
26+
27+
def test_handle_sqs_body_invalid_json():
28+
sqs_event_dict = load_event("sqsEvent.json")
29+
30+
with pytest.raises(ValidationError):
31+
handle_sqs_json_body_containing_s3_notifications(sqs_event_dict, LambdaContext())
32+
33+
34+
def test_handle_sqs_json_body_containing_arbitrary_json():
35+
sqs_event_dict = load_event("sqsEvent.json")
36+
for record in sqs_event_dict["Records"]:
37+
record["body"] = json_serialize({"foo": "bar"})
38+
39+
with pytest.raises(ValidationError):
40+
handle_sqs_json_body_containing_s3_notifications(sqs_event_dict, LambdaContext())

0 commit comments

Comments
 (0)