def test_makeMessage(self): from synapse.message import (makeMessage, MessageInvalidException, Message, ReplyMessage, HelloMessage, ByeMessage, WhereIsMessage, IsAtMessage, UnknownNodeMessage, AckMessage, NackMessage) class BadMessage: type = 'not_a_msg' self.assertRaises(MessageInvalidException, makeMessage, {'type': 'not_a_msg'}) try: makeMessage({'type': 'not_a_msg'}) except MessageInvalidException, e: self.assertTrue('not_a_msg is not a subclass of Message' in str(e))
def echo_reply_handler_delay(actor, delay, msg): time.sleep(delay) reply = echo_reply_handler(actor, msg) async_msg = actor._codec.dumps(message.makeMessage( {'type': 'reply', 'src': actor.name, 'data': 'TEST', 'id': msg.id})) actor._nodes['test1'].send(async_msg) logging.debug('[test2] async_msg #%d sent to test1' % msg.id) ack = actor._nodes['test1'].recv() return
def _test_json_datetime(self, date): msg = message.makeMessage({ 'type': 'reply', 'src': 'tester', 'data': date, 'id': 0}) codec = message.makeCodec({'type': 'jsonrpc'}) msgstring = codec.dumps(msg) json_msg = json.loads(msgstring) self.assertEqual(date.isoformat(), json_msg['params']['data'])
def seed(msg=None): common_config = yaml.load(file('config.yaml')) client = node.makeNode({'type': common_config['type'], 'uri': actor_config1['uri'], 'role': 'client'}) if not msg: codec = message.makeCodec({'type': 'jsonrpc'}) msg = codec.dumps(message.makeMessage({'type': 'test'})) client.connect() logging.debug('seed: connected to forwarder node') client.send(msg) logging.debug('seed: message sent') logging.debug('seed: message received (%s)' % client.recv())
def test_json_xmlrpclib_datetime(self): import xmlrpclib xmlrpc_date = xmlrpclib.DateTime() msg = message.makeMessage({ 'type': 'reply', 'src': 'tester', 'data': xmlrpc_date, 'id': 0}) codec = message.makeCodec({'type': 'jsonrpc'}) msgstring = codec.dumps(msg) """
def _test_json_datetime(self, date): import json from synapse import message msg = message.makeMessage({ 'type': 'reply', 'src': 'tester', 'data': date, 'id': 0}) codec = message.makeCodec({'type': 'jsonrpc'}) msgstring = codec.dumps(msg) json_msg = json.loads(msgstring) self.assertEqual(date.isoformat(), json_msg['params']['data'])
def test_json_xmlrpclib_datetime(self): import xmlrpclib xmlrpc_date = xmlrpclib.DateTime() msg = message.makeMessage({ 'type': 'reply', 'src': 'tester', 'data': xmlrpc_date, 'id': 0}) codec = message.makeCodec({'type': 'jsonrpc'}) msgstring = codec.dumps(msg) json_msg = json.loads(msgstring) date = datetime.datetime.strptime(xmlrpc_date.value, "%Y%m%dT%H:%M:%S") self.assertEqual(date.isoformat(), json_msg['params']['data'])
def test_json_xmlrpclib_datetime(self): import xmlrpclib import json from datetime import datetime from synapse import message xmlrpc_date = xmlrpclib.DateTime() msg = message.makeMessage({ 'type': 'reply', 'src': 'tester', 'data': xmlrpc_date, 'id': 0}) codec = message.makeCodec({'type': 'jsonrpc'}) msgstring = codec.dumps(msg) json_msg = json.loads(msgstring) date = datetime.strptime(xmlrpc_date.value, "%Y%m%dT%H:%M:%S") self.assertEqual(date.isoformat(), json_msg['params']['data'])
makeMessage({'type': 'not_a_msg'}) except MessageInvalidException, e: self.assertTrue('not_a_msg is not a subclass of Message' in str(e)) class GoodMessage(Message): type = 'custom' def __init__(self, dummy, id=None): Message.__init__(self, id) self.dummy = dummy @property def attrs(self): return {'dummy': self.dummy} m = makeMessage({'type': 'custom', 'dummy': 'msg_dummy'}) self.assertTrue(isinstance(m, GoodMessage)) self.assertTrue(hasattr(m, 'id')) self.assertEquals(m.attrs['dummy'], 'msg_dummy') m = makeMessage({'type': 'hello', 'src': 'msg_src', 'uri': 'msg_uri'}) self.assertTrue(isinstance(m, HelloMessage)) self.assertTrue(hasattr(m, 'id')) self.assertEquals(m.attrs['src'], 'msg_src') self.assertEquals(m.attrs['uri'], 'msg_uri') m = makeMessage({'type': 'reply', 'src': 'msg_src', 'data': 'msg_data', 'id': 8888}) self.assertTrue(isinstance(m, ReplyMessage)) self.assertEquals(m.id, 8888) self.assertEquals(m.attrs['src'], 'msg_src')