feat: add validation for SNS batch entry IDs and corresponding tests #13556
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
Fixes #13526
SNS
publish_batchwas not validating batch entry IDs according to AWS specifications. AWS requires entry IDs to:Currently, LocalStack accepts invalid IDs like
"message.id"(contains dot) or IDs exceeding 80 characters, which AWS rejects withInvalidBatchEntryIderrors.Changes
BATCH_ENTRY_ID_REGEXconstant to validate ID character patternvalidate_batch_entry_id()function with length and pattern validationpublish_batch()method after duplicate ID checkInvalidBatchEntryIdExceptionwith appropriate error messages matching AWS behaviorTests
test_publish_batch_invalid_entry_id_simple(LocalStack-only test) - validates basic functionalitytest_publish_batch_invalid_entry_id(AWS-validated snapshot test) - ensures AWS parityRelated
Remaining validation gaps identified during implementation (to be addressed in separate issues):