def test_index_encoder(msg_idx, expected_hex): buf = BytesIO() ProtobufSerializer._encode_uvarints(buf, msg_idx) buf.flush() # ignore array length prefix buf.seek(1) assert binascii.b2a_hex(buf.read()) == expected_hex # reset reader and test decoder buf.seek(0) assert msg_idx == ProtobufDeserializer._decode_index(buf)
def test_index_serialization(pb2): msg_idx = _create_msg_index(pb2.DESCRIPTOR) buf = BytesIO() ProtobufSerializer._encode_uvarints(buf, msg_idx) buf.flush() # reset buffer cursor buf.seek(0) decoded_msg_idx = ProtobufDeserializer._decode_index(buf) buf.close() assert decoded_msg_idx == msg_idx