Beispiel #1
0
    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 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))
Beispiel #3
0
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
Beispiel #4
0
    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'])
Beispiel #5
0
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())
Beispiel #6
0
    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)
        """
Beispiel #7
0
    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'])
Beispiel #8
0
    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'])
Beispiel #9
0
    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'])
Beispiel #10
0
            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')
Beispiel #11
0
            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')