def test_sending_messages(self): yield self.get_configured_transport() msg = self.tx_helper.make_outbound( "outbound", session_event=TransportUserMessage.SESSION_CLOSE) d = self.tx_helper.dispatch_outbound(msg) req = yield self.get_next_request() received_msg = json.loads(req.content.read()) self.assertEqual(received_msg, { 'content': msg['content'], 'in_reply_to': None, 'to_addr': msg['to_addr'], 'message_id': msg['message_id'], 'session_event': TransportUserMessage.SESSION_CLOSE, 'helper_metadata': {}, }) remote_id = TransportUserMessage.generate_id() reply = msg.copy() reply['message_id'] = remote_id req.write(reply.to_json().encode('utf-8')) req.finish() yield d [ack] = yield self.tx_helper.wait_for_dispatched_events(1) self.assertEqual(ack['user_message_id'], msg['message_id']) self.assertEqual(ack['sent_message_id'], remote_id)
def generate_message_id(): """ Generate a message id. """ return TransportUserMessage.generate_id()