def test_raw_data_tags(self): """Test functions to add and remove raw data tags.""" raw = b"raw\x015000=1" pkt = FixMessage() pkt.append_pair(8, "FIX.4.2") pkt.append_pair(35, "D") pkt.append_data(5001, 5002, raw) buf = pkt.encode() parser = FixParser() parser.add_raw(5001, 5002) parser.append_buffer(buf) msg = parser.get_message() self.assertIsNotNone(msg) self.assertEqual(b"FIX.4.2", msg.get(8)) self.assertEqual(b"D", msg.get(35)) self.assertEqual(len(raw), int(msg.get(5001))) self.assertEqual(raw, msg.get(5002)) parser.reset() parser.remove_raw(5001, 5002) parser.append_buffer(buf) msg = parser.get_message() self.assertIsNotNone(msg) self.assertEqual(b"FIX.4.2", msg.get(8)) self.assertEqual(b"D", msg.get(35)) self.assertEqual(len(raw), int(msg.get(5001))) self.assertEqual(b"raw", msg.get(5002)) self.assertEqual(b"1", msg.get(5000)) return
def test_raw_data(self): """Test parsing of raw data fields.""" raw = b"raw\x01data" pkt = FixMessage() pkt.append_pair(8, "FIX.4.2") pkt.append_pair(35, "D") pkt.append_data(95, 96, raw) buf = pkt.encode() parser = FixParser() parser.append_buffer(buf) msg = parser.get_message() self.assertIsNotNone(msg) self.assertEqual(b"FIX.4.2", msg.get(8)) self.assertEqual(b"D", msg.get(35)) self.assertEqual(len(raw), int(msg.get(95))) self.assertEqual(raw, msg.get(96)) return