code: def test_should_rollback_or_skip_if_video_load_fails(self):
      path_regex = Path(f"{EvaDB_ROOT_DIR}/data/sample_videos/1/*.mp4")
      valid_videos = glob.glob(
          str(path_regex.expanduser()), recursive=True
      )
  
      tempfile_name = os.urandom(24).hex()
      tempfile_path = os.path.join(tempfile.gettempdir(), tempfile_name)
      with open(tempfile_path, "wb") as empty_file:
          # Load  one empty file
          # nothing should be added
          with tempfile.TemporaryDirectory() as tmp_dir:
              shutil.copy2(str(empty_file.name), tmp_dir)
              path = Path(tmp_dir) / "*"
              query = f"""LOAD VIDEO "{path}" INTO MyVideos;"""
              with self.assertRaises(Exception):
                  execute_query_fetch_all(
                      self.evadb, query, do_not_print_exceptions=True
                  )
              with self.assertRaises(BinderError):
                  execute_query_fetch_all(
                      self.evadb,
                      "SELECT name FROM MyVideos",
                      do_not_print_exceptions=True,
                  )
  
          # Load one correct file and one empty file
          # one file should get added
          with tempfile.TemporaryDirectory() as tmp_dir:
              shutil.copy2(str(valid_videos[0]), tmp_dir)
              shutil.copy2(str(empty_file.name), tmp_dir)
              path = Path(tmp_dir) / "*"
              query = f"""LOAD VIDEO "{path}" INTO MyVideos;"""
              result = execute_query_fetch_all(self.evadb, query)
              expected = Batch(
                  pd.DataFrame(
                      [
                          f"Number of loaded {FileFormatType.VIDEO.name}: 1"
                      ]
                  )
              )
              self.assertEqual(result, expected)
  
          # Load two correct file and one empty file
          # two files should get added
          with tempfile.TemporaryDirectory() as tmp_dir:
              shutil.copy2(str(valid_videos[0]), tmp_dir)
              shutil.copy2(str(valid_videos[1]), tmp_dir)
              shutil.copy2(str(empty_file.name), tmp_dir)
              path = Path(tmp_dir) / "*"
              query = f"""LOAD VIDEO "{path}" INTO MyVideos;"""
              result = execute_query_fetch_all(self.evadb, query)
              expected = Batch(
                  pd.DataFrame(
                      [
                          f"Number of loaded {FileFormatType.VIDEO.name}: 2"
                      ]
                  )
              )
              self.assertEqual(result, expected)
  
imports: import glob
  import multiprocessing
  import os
  import shutil
  import tempfile
  import unittest
  from pathlib import Path
  from test.util import create_dummy_batches, create_dummy_csv_batches, create_large_scale_image_dataset, create_sample_csv, create_sample_video, file_remove, get_evadb_for_testing, shutdown_ray
  import numpy
  import pandas
  import pytest
  from evadb.binder.binder_utils import BinderError
  from evadb.configuration.constants import EvaDB_ROOT_DIR
  from evadb.executor.executor_utils import ExecutorError
  from evadb.models.storage.batch import Batch
  from evadb.parser.types import FileFormatType
  from evadb.server.command_handler import execute_query_fetch_all
label_desc: Use image node_id 12 for calling the LoadExecutorTests obj's underlying member method code with example usage: obj.test_should_rollback_or_skip_if_video_load_fails() without return types