Envelope sns message when sending to sqs (#1066)

* envelop message when sendig from sns to sqs

* add test for publishing sns message to sqs

* specify separators options to json.dumps to avoid json bug in python2

* remove unused print

* replace time string for testing server mode
This commit is contained in:
Toshiya Kawasaki 2017-08-22 04:29:34 +09:00 committed by Jack Danger
commit ce7eabd44a
3 changed files with 51 additions and 14 deletions

View file

@ -81,8 +81,8 @@ class Subscription(BaseModel):
if self.protocol == 'sqs':
queue_name = self.endpoint.split(":")[-1]
region = self.endpoint.split(":")[3]
escaped_message = message.replace('"', '\\"')
sqs_backends[region].send_message(queue_name, escaped_message)
enveloped_message = json.dumps(self.get_post_data(message, message_id), sort_keys=True, indent=2, separators=(',', ': '))
sqs_backends[region].send_message(queue_name, enveloped_message)
elif self.protocol in ['http', 'https']:
post_data = self.get_post_data(message, message_id)
requests.post(self.endpoint, json=post_data)