Esempio n. 1
0
    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
Esempio n. 2
0
    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