def zaqar_to_proton(message): """Convert a message retrieved from storage to a Proton message""" msg = Message() msg.ttl = message.get('ttl') msg.body = message.get('body') # NOTE(vkmc) This won't work for now - there is no 'amqp10' field yet if message.get('amqp10'): msg.priority = message.get('amqp10').get('priority') msg.first_acquirer = message.get('amqp10').get('first_acquirer') msg.delivery_count = message.get('amqp10').get('delivery_count') msg.id = message.get('amqp10').get('id'), msg.user_id = message.get('amqp10').get('user_id') msg.address = message.get('amqp10').get('address') msg.subject = message.get('amqp10').get('subject') msg.reply_to = message.get('amqp10').get('reply_to') msg.correlation_id = message.get('amqp10').get('correlation_id') msg.content_type = message.get('amqp10').get('content_type') msg.content_encoding = message.get('amqp10').get('content_encoding') msg.expiry_time = message.get('amqp10').get('expiry_time') msg.creation_time = message.get('amqp10').get('creation_time'), msg.group_id = message.get('amqp10').get('group_id') msg.group_sequence = message.get('amqp10').get('group_sequence') msg.reply_to_group_id = message.get('amqp10').get('reply_to_group_id') msg.format = message.get('amqp10').get('format') return msg
def on_link_opened(self, event): if event.link.is_sender: print("REQUEST: Opened sender for target address '{0}'".format( event.sender.target.address)) if event.link.is_receiver: print("REQUEST: Opened dynamic receiver for responses") request = Message(self.message_body) request.id = uuid.uuid4() request.reply_to = event.receiver.remote_source.address self.sender.send(request) print("REQUEST: Sent request '{0}'".format(request.body))
def on_sendable(self, event): if not self.sent: msg = Message() msg.address = self.address msg.id = '123455' msg.user_id = BINARY('testuser') msg.subject = 'test-subject' msg.content_type = 'text/html; charset=utf-8' msg.correlation_id = 89 msg.creation_time = 1487772623.883 msg.group_id = "group1" msg.reply_to = 'hello_world' msg.content_encoding = 'gzip, deflate' msg.reply_to_group_id = "group0" application_properties = dict() application_properties['app-property'] = [10, 20, 30] application_properties['some-other'] = symbol("O_one") msg.properties = application_properties msg.body = u"Hello World!" event.sender.send(msg) self.sent = True
def on_sendable(self, event): if not self.sent: msg = Message() msg.address = self.address msg.id = '123455' msg.user_id = 'testuser' msg.subject = 'test-subject' msg.content_type = 'text/html; charset=utf-8' msg.correlation_id = 89 msg.creation_time = 1487772623.883 msg.group_id = "group1" msg.reply_to = 'hello_world' msg.content_encoding = 'gzip, deflate' msg.reply_to_group_id = "group0" application_properties = dict() application_properties['app-property'] = [10, 20, 30] application_properties['some-other'] = symbol("O_one") msg.properties = application_properties msg.body = u"Hello World!" event.sender.send(msg) self.sent = True
def test_02_bad_request_message(self): """ Test various improperly constructed request messages """ server = TestServer(server_port=self.http_server_port, client_port=self.http_listener_port, tests={}) body_filler = "?" * 1024 * 300 # Q2 msg = Message(body="NOMSGID " + body_filler) ts = AsyncTestSender(address=self.INT_A.listener, target="testServer", message=msg) ts.wait() self.assertEqual(1, ts.rejected) msg = Message(body="NO REPLY TO " + body_filler) msg.id = 1 ts = AsyncTestSender(address=self.INT_A.listener, target="testServer", message=msg) ts.wait() self.assertEqual(1, ts.rejected) msg = Message(body="NO SUBJECT " + body_filler) msg.id = 1 msg.reply_to = "amqp://fake/reply_to" ts = AsyncTestSender(address=self.INT_A.listener, target="testServer", message=msg) ts.wait() self.assertEqual(1, ts.rejected) msg = Message(body="NO APP PROPERTIES " + body_filler) msg.id = 1 msg.reply_to = "amqp://fake/reply_to" msg.subject = "GET" ts = AsyncTestSender(address=self.INT_A.listener, target="testServer", message=msg) ts.wait() self.assertEqual(1, ts.rejected) # TODO: fix body parsing (returns NEED_MORE) # msg = Message(body="INVALID BODY " + body_filler) # msg.id = 1 # msg.reply_to = "amqp://fake/reply_to" # msg.subject = "GET" # msg.properties = {"http:target": "/Some/target"} # ts = AsyncTestSender(address=self.INT_A.listener, # target="testServer", # message=msg) # ts.wait() # self.assertEqual(1, ts.rejected); server.wait() # verify router is still sane: count, error = http1_ping(self.http_server_port, self.http_listener_port) self.assertIsNone(error) self.assertEqual(1, count)