diff --git a/kombu/transport/SQS.py b/kombu/transport/SQS.py index 82cff2c23..cfe2fe014 100644 --- a/kombu/transport/SQS.py +++ b/kombu/transport/SQS.py @@ -545,9 +545,10 @@ def _receive_message( client = self.sqs(queue=queue) message_system_attribute_names = self.get_message_attributes.get( - 'MessageSystemAttributeNames') + 'MessageSystemAttributeNames') or [] + message_attribute_names = self.get_message_attributes.get( - 'MessageAttributeNames') + 'MessageAttributeNames') or [] params: dict[str, Any] = { 'QueueUrl': q_url, @@ -964,7 +965,7 @@ def get_message_attributes(self) -> dict[str, Any]: if fetch is None or isinstance(fetch, str): return { - 'MessageAttributeNames': None, + 'MessageAttributeNames': [], 'MessageSystemAttributeNames': [APPROXIMATE_RECEIVE_COUNT], } @@ -988,7 +989,7 @@ def get_message_attributes(self) -> dict[str, Any]: ) return { - 'MessageAttributeNames': sorted(message_attrs) if message_attrs else None, + 'MessageAttributeNames': sorted(message_attrs) if message_attrs else [], 'MessageSystemAttributeNames': ( sorted(message_system_attrs) if message_system_attrs else [APPROXIMATE_RECEIVE_COUNT] ) diff --git a/t/unit/transport/test_SQS.py b/t/unit/transport/test_SQS.py index 44113f7d2..4456de844 100644 --- a/t/unit/transport/test_SQS.py +++ b/t/unit/transport/test_SQS.py @@ -125,9 +125,11 @@ def receive_message( QueueUrl=None, MaxNumberOfMessages=1, WaitTimeSeconds=10, - MessageAttributeNames=None, - MessageSystemAttributeNames=None + MessageAttributeNames=[], + MessageSystemAttributeNames=[], ): + assert isinstance(MessageAttributeNames, (list, tuple)) + assert isinstance(MessageSystemAttributeNames, (list, tuple)) self._receive_messages_calls += 1 for q in self._queues.values(): if q.url == QueueUrl: