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)
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")
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")