예제 #1
0
    def testBasicEventProxying(self):
        """Asserting a single event is proxied."""
        eventstring = b"THIS IS AN EVENT"

        clients.publish_event(self.transmitter, eventstring)

        received_id = self.receiver.recv().decode()
        self.assertTrue(bool(self.receiver.getsockopt(zmq.RCVMORE)))
        prev_received_id = self.receiver.recv()
        self.assertEquals(prev_received_id, b'')
        self.assertTrue(bool(self.receiver.getsockopt(zmq.RCVMORE)))
        received_string = self.receiver.recv()
        self.assertFalse(bool(self.receiver.getsockopt(zmq.RCVMORE)))

        self.assertIsNotNone(re.match(self.UUID_REGEXP, received_id))
        self.assertEqual(received_string, eventstring)
예제 #2
0
    def testBasicEventProxying(self):
        """Asserting a single event is proxied."""
        eventstring = b"THIS IS AN EVENT"

        clients.publish_event(self.transmitter, eventstring)

        received_id = self.receiver.recv().decode()
        self.assertTrue(bool(self.receiver.getsockopt(zmq.RCVMORE)))
        prev_received_id = self.receiver.recv()
        self.assertEquals(prev_received_id, b'')
        self.assertTrue(bool(self.receiver.getsockopt(zmq.RCVMORE)))
        received_string = self.receiver.recv()
        self.assertFalse(bool(self.receiver.getsockopt(zmq.RCVMORE)))

        self.assertIsNotNone(re.match(self.UUID_REGEXP, received_id))
        self.assertEqual(received_string, eventstring)
예제 #3
0
    def testProxyingABunchOfEvents(self):
        """Testing that a bunch of incoming messages processed correctly.

        That is, they are all being proxied and in order.

        """
        NMESSAGES = 200
        messages = []
        for id in range(NMESSAGES):
            eventstring = "THIS IS EVENT NUMBER {0}".format(id).encode()
            messages.append(eventstring)

        # Sending
        for msg in messages:
            clients.publish_event(self.transmitter, msg)

        # Receiving and asserting correct messages
        eventids = []
        received_messages = []
        previd = b''
        for msg in messages:
            received_id = self.receiver.recv()
            self.assertTrue(bool(self.receiver.getsockopt(zmq.RCVMORE)))
            received_prev_id = self.receiver.recv()

            self.assertEquals(received_prev_id, previd)
            previd = received_id

            self.assertTrue(bool(self.receiver.getsockopt(zmq.RCVMORE)))
            received_string = self.receiver.recv()
            received_messages.append(received_string)
            self.assertFalse(bool(self.receiver.getsockopt(zmq.RCVMORE)))
            self.assertIsNotNone(
                re.match(self.UUID_REGEXP, received_id.decode()))
            eventids.append(received_id)
            self.assertEqual(received_string, msg)

        self.assertEqual(len(set(eventids)), len(eventids),
                         "Found duplicate event id!")
        self.assertEqual(messages, received_messages,
                         "Not all messages received")
예제 #4
0
    def testProxyingABunchOfEvents(self):
        """Testing that a bunch of incoming messages processed correctly.

        That is, they are all being proxied and in order.

        """
        NMESSAGES = 200
        messages = []
        for id in range(NMESSAGES):
            eventstring = "THIS IS EVENT NUMBER {0}".format(id).encode()
            messages.append(eventstring)

        # Sending
        for msg in messages:
            clients.publish_event(self.transmitter, msg)

        # Receiving and asserting correct messages
        eventids = []
        received_messages = []
        previd = b''
        for msg in messages:
            received_id = self.receiver.recv()
            self.assertTrue(bool(self.receiver.getsockopt(zmq.RCVMORE)))
            received_prev_id = self.receiver.recv()

            self.assertEquals(received_prev_id, previd)
            previd = received_id

            self.assertTrue(bool(self.receiver.getsockopt(zmq.RCVMORE)))
            received_string = self.receiver.recv()
            received_messages.append(received_string)
            self.assertFalse(bool(self.receiver.getsockopt(zmq.RCVMORE)))
            self.assertIsNotNone(re.match(self.UUID_REGEXP,
                                          received_id.decode()))
            eventids.append(received_id)
            self.assertEqual(received_string, msg)

        self.assertEqual(len(set(eventids)), len(eventids),
                         "Found duplicate event id!")
        self.assertEqual(messages, received_messages,
                         "Not all messages received")