SQS - Allow XML content to be received as a message attr (#4337)
This commit is contained in:
parent
dadc529445
commit
d87a2eab49
@ -648,7 +648,7 @@ RECEIVE_MESSAGE_RESPONSE = """<ReceiveMessageResponse>
|
|||||||
{% if 'Binary' in value.data_type %}
|
{% if 'Binary' in value.data_type %}
|
||||||
<BinaryValue>{{ value.binary_value }}</BinaryValue>
|
<BinaryValue>{{ value.binary_value }}</BinaryValue>
|
||||||
{% else %}
|
{% else %}
|
||||||
<StringValue>{{ value.string_value }}</StringValue>
|
<StringValue><![CDATA[{{ value.string_value }}]]></StringValue>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</Value>
|
</Value>
|
||||||
</MessageAttribute>
|
</MessageAttribute>
|
||||||
|
@ -916,6 +916,28 @@ def test_send_receive_message_with_attributes_with_labels():
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@mock_sqs
|
||||||
|
def test_receive_message_with_xml_content():
|
||||||
|
sqs = boto3.client("sqs", region_name="eu-west-2")
|
||||||
|
queue_url = sqs.create_queue(QueueName="test-queue")["QueueUrl"]
|
||||||
|
original_payload = '<?xml version="1.0" encoding="UTF-8"?><feed xmlns="http://www.w3.org/2005/Atom"/>'
|
||||||
|
data = {"Payload": {"DataType": "String", "StringValue": original_payload}}
|
||||||
|
|
||||||
|
sqs.send_message(
|
||||||
|
QueueUrl=queue_url, MessageBody="NSWSS Atom Feed", MessageAttributes=data
|
||||||
|
)
|
||||||
|
|
||||||
|
messages = sqs.receive_message(
|
||||||
|
QueueUrl=queue_url,
|
||||||
|
MessageAttributeNames=("Payload",),
|
||||||
|
MaxNumberOfMessages=1,
|
||||||
|
VisibilityTimeout=0,
|
||||||
|
)["Messages"]
|
||||||
|
|
||||||
|
attr = messages[0]["MessageAttributes"]["Payload"]["StringValue"]
|
||||||
|
attr.should.equal(original_payload)
|
||||||
|
|
||||||
|
|
||||||
@mock_sqs
|
@mock_sqs
|
||||||
def test_change_message_visibility_than_permitted():
|
def test_change_message_visibility_than_permitted():
|
||||||
if settings.TEST_SERVER_MODE:
|
if settings.TEST_SERVER_MODE:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user