code: def mock_iiit5k_dataset(tmpdir_factory, mock_image_stream):
      root = tmpdir_factory.mktemp("datasets")
      iiit5k_root = root.mkdir("IIIT5K")
      image_folder = iiit5k_root.mkdir("train")
      annotation_file = iiit5k_root.join("trainCharBound.mat")
      labels = {
          "trainCharBound": {
              "ImgName": ["train/0.png"],
              "chars": ["I"],
              "charBB": np.random.randint(50, size=(1, 4)),
          },
      }
  
      # hacky trick to write file into a LocalPath object with scipy.io.savemat
      with tempfile.NamedTemporaryFile(mode="wb", delete=True) as f:
          sio.savemat(f.name, labels)
          shutil.copy(f.name, str(annotation_file))
  
      file = BytesIO(mock_image_stream)
      for i in range(1):
          fn_i = image_folder.join(f"{i}.png")
          with open(fn_i, "wb") as f:
              f.write(file.getbuffer())
  
      # Packing data into an archive to simulate the real data set and bypass archive extraction
      archive_path = root.join("IIIT5K-Word-V3.tar")
      shutil.make_archive(
          root.join("IIIT5K-Word-V3"), "tar", str(iiit5k_root)
      )
      return str(archive_path)
  
imports: import json
  import shutil
  import tempfile
  from io import BytesIO
  import cv2
  import hdf5storage
  import numpy
  import pytest
  import requests
  import scipy.io
  from PIL import Image
  from doctr.datasets.generator.base import synthesize_text_img
  from doctr.io import reader
  from doctr.utils import geometry
label_desc: Use image node_id 21 for calling a global function with example usage: mock_iiit5k_dataset(tmpdir_factory, mock_image_stream) and returns: str