File tree 2 files changed +18
-1
lines changed
aws_lambda_powertools/utilities/batch
2 files changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -115,7 +115,9 @@ def _clean(self):
115
115
queue_url = self ._get_queue_url ()
116
116
entries_to_remove = self ._get_entries_to_clean ()
117
117
118
- delete_message_response = self .client .delete_message_batch (QueueUrl = queue_url , Entries = entries_to_remove )
118
+ delete_message_response = None
119
+ if entries_to_remove :
120
+ delete_message_response = self .client .delete_message_batch (QueueUrl = queue_url , Entries = entries_to_remove )
119
121
120
122
if self .suppress_exception :
121
123
logger .debug (f"{ len (self .fail_messages )} records failed processing, but exceptions are suppressed" )
Original file line number Diff line number Diff line change @@ -275,3 +275,18 @@ def lambda_handler(event, context):
275
275
276
276
stubber .assert_no_pending_responses ()
277
277
assert result is True
278
+
279
+
280
+ def test_partial_sqs_processor_context_only_failure (sqs_event_factory , record_handler , partial_processor ):
281
+ """
282
+ Test processor with only failures
283
+ """
284
+ first_record = sqs_event_factory ("fail" )
285
+ second_record = sqs_event_factory ("fail" )
286
+
287
+ records = [first_record , second_record ]
288
+ with pytest .raises (SQSBatchProcessingError ) as error :
289
+ with partial_processor (records , record_handler ) as ctx :
290
+ ctx .process ()
291
+
292
+ assert len (error .value .args [0 ]) == 2
You can’t perform that action at this time.
0 commit comments