def test_packet_from_fh(self): # create a packet payload = 'abc123' packet_type = PacketType.FROM_INSTRUMENT packet = Packet.create(payload, packet_type)[0] # get the packet contents as a string fh = StringIO(packet.data) packet = Packet.packet_from_fh(fh) self.assertEqual(packet.payload, payload) self.assertEqual(packet.header.packet_type, packet_type) self.assertEqual(packet.header.payload_size, len(payload)) self.assertTrue(packet.valid) self.assertNotEqual(packet.header.time, 0)
def test_packet_from_fh_with_junk(self): data_buffer = '' payload = 'abc123' packet_type = PacketType.FROM_INSTRUMENT junk = 'kj34jk3h45' for i in xrange(3): # create a packet packet = Packet.create(payload, packet_type)[0] # get the packet contents as a string data_buffer += packet.data + junk fh = StringIO(data_buffer) while True: packet = Packet.packet_from_fh(fh) if packet is None: break self.assertEqual(packet.payload, payload) self.assertEqual(packet.header.packet_type, packet_type) self.assertEqual(packet.header.payload_size, len(payload)) self.assertTrue(packet.valid) self.assertNotEqual(packet.header.time, 0) self.assertIn(junk, data_buffer)