Пример #1
0
    def test_send_recv(self):
        self.s.sendMsg('aaa', 'aab')
        self.s.sendMsg('bbb')

        return _wait(0.01).addCallback(
                lambda _: self.failUnlessEqual(getattr(self.r, 'messages', []),
                    [['msg_id_1', ('aaa', 'aab')], ['msg_id_2', ('bbb',)]], "Message should have been received"))
Пример #2
0
    def test_send_recv_tcp_large(self):
        r = ZmqTestReceiver(self.factory, ZmqEndpoint(ZmqEndpointType.Bind, "tcp://127.0.0.1:5555"))
        s = ZmqTestSender(self.factory, ZmqEndpoint(ZmqEndpointType.Connect, "tcp://127.0.0.1:5555"))

        s.send(["0" * 10000, "1" * 10000])

        return _wait(0.01).addCallback(
                lambda _: self.failUnlessEqual(getattr(r, 'messages', []), [["0" * 10000, "1" * 10000]], "Messages should have been received"))
Пример #3
0
    def test_send_recv(self):
        r = ZmqTestReceiver(self.factory, ZmqEndpoint(ZmqEndpointType.Bind, "inproc://#1"))
        s = ZmqTestSender(self.factory, ZmqEndpoint(ZmqEndpointType.Connect, "inproc://#1"))

        s.send('abcd')

        return _wait(0.01).addCallback(
                lambda _: self.failUnlessEqual(getattr(r, 'messages', []), [['abcd']], "Message should have been received"))
Пример #4
0
    def test_send_recv_tcp(self):
        r = ZmqTestReceiver(self.factory, ZmqEndpoint(ZmqEndpointType.Bind, "tcp://127.0.0.1:5555"))
        s = ZmqTestSender(self.factory, ZmqEndpoint(ZmqEndpointType.Connect, "tcp://127.0.0.1:5555"))

        for i in xrange(100):
            s.send(str(i))

        return _wait(0.01).addCallback(
                lambda _: self.failUnlessEqual(getattr(r, 'messages', []), map(lambda i: [str(i)], xrange(100)), "Messages should have been received"))
Пример #5
0
    def test_send_recv_pgm(self):
        r = ZmqTestSubConnection(self.factory, ZmqEndpoint(ZmqEndpointType.Bind, "epgm://127.0.0.1;239.192.1.1:5556"))
        s = ZmqPubConnection(self.factory, ZmqEndpoint(ZmqEndpointType.Connect, "epgm://127.0.0.1;239.192.1.1:5556"))

        r.subscribe('tag')
        s.publish('xyz', 'different-tag')
        s.publish('abcd', 'tag1')

        return _wait(0.2).addCallback(
                lambda _: self.failUnlessEqual(getattr(r, 'messages', []), [['tag1', 'abcd']], "Message should have been received"))
Пример #6
0
    def test_send_recv(self):
        r = ZmqTestReceiver(self.factory,
                            ZmqEndpoint(ZmqEndpointType.Bind, "inproc://#1"))
        s = ZmqTestSender(self.factory,
                          ZmqEndpoint(ZmqEndpointType.Connect, "inproc://#1"))

        s.send('abcd')

        return _wait(0.01).addCallback(lambda _: self.failUnlessEqual(
            getattr(r, 'messages', []), [['abcd']],
            "Message should have been received"))
Пример #7
0
    def test_send_recv_multiple_endpoints(self):
        r = ZmqTestSubConnection(self.factory, ZmqEndpoint(ZmqEndpointType.Bind, "tcp://127.0.0.1:5556"), ZmqEndpoint(ZmqEndpointType.Bind, "inproc://endpoint"))
        s1 = ZmqPubConnection(self.factory, ZmqEndpoint(ZmqEndpointType.Connect, "tcp://127.0.0.1:5556"))
        s2 = ZmqPubConnection(self.factory, ZmqEndpoint(ZmqEndpointType.Connect, "inproc://endpoint"))

        r.subscribe('')
        s1.publish('111', 'tag1')
        s2.publish('222', 'tag2')

        return _wait(0.2).addCallback(
                lambda _: self.failUnlessEqual(getattr(r, 'messages', []), [['tag2', '222'], ['tag1', '111']], "Message should have been received"))
Пример #8
0
    def test_send_recv(self):
        r = ZmqTestSubConnection(self.factory, ZmqEndpoint(ZmqEndpointType.Bind, "ipc://test-sock"))
        s = ZmqPubConnection(self.factory, ZmqEndpoint(ZmqEndpointType.Connect, "ipc://test-sock"))

        r.subscribe('tag')
        s.publish('xyz', 'different-tag')
        s.publish('abcd', 'tag1')
        s.publish('efgh', 'tag2')

        return _wait(0.01).addCallback(
                lambda _: self.failUnlessEqual(getattr(r, 'messages', []), [['tag1', 'abcd'], ['tag2', 'efgh']], "Message should have been received"))
Пример #9
0
    def test_send_recv_tcp_large(self):
        r = ZmqTestReceiver(
            self.factory,
            ZmqEndpoint(ZmqEndpointType.Bind, "tcp://127.0.0.1:5555"))
        s = ZmqTestSender(
            self.factory,
            ZmqEndpoint(ZmqEndpointType.Connect, "tcp://127.0.0.1:5555"))

        s.send(["0" * 10000, "1" * 10000])

        return _wait(0.01).addCallback(lambda _: self.failUnlessEqual(
            getattr(r, 'messages', []), [["0" * 10000, "1" * 10000]],
            "Messages should have been received"))
Пример #10
0
    def test_send_recv_tcp(self):
        r = ZmqTestReceiver(
            self.factory,
            ZmqEndpoint(ZmqEndpointType.Bind, "tcp://127.0.0.1:5555"))
        s = ZmqTestSender(
            self.factory,
            ZmqEndpoint(ZmqEndpointType.Connect, "tcp://127.0.0.1:5555"))

        for i in xrange(100):
            s.send(str(i))

        return _wait(0.01).addCallback(lambda _: self.failUnlessEqual(
            getattr(r, 'messages', []), map(lambda i: [str(i)], xrange(100)),
            "Messages should have been received"))
Пример #11
0
 def test_async_dealer_router(self):
     # Bind the ROUTER PONG server, wait for a second to make sure the
     # the socket is ready.
     bind_ep = ZmqEndpoint(ZmqEndpointType.Bind, "tcp://127.0.0.1:5000")
     server = ZmqTestServer(self.factory, bind_ep)
     yield _wait(1)
     # Connect the DEALER PING client, wait for a second to make sure the
     # socket is ready.
     connect_ep = ZmqEndpoint(ZmqEndpointType.Connect, "tcp://127.0.0.1:5000")
     client = ZmqTestClient(self.factory, connect_ep)
     yield _wait(1)
     # Launch 10 pingers, which will each ping 100 times and wait 
     # for completion.
     results = yield DeferredList([ping(client) for x in range(0,10)])
     # Server requests and responses should be 1:1
     self.failUnlessEqual(server.requests, server.responses)
     # Client requests and responses should be 1:1
     self.failUnlessEqual(client.requests, client.responses)
     # Servers and clients requests and responses should also match.
     self.failUnlessEqual(client.requests, server.responses)
     for row in results:
         if not row[0]:
             raise row[1] # Raise any errors encountered.