code: def test_should_drop_table(self):
      query = f"""LOAD VIDEO '{self.video_file_path}' INTO MyVideo;"""
      execute_query_fetch_all(self.evadb, query)
  
      # catalog should contain video table and the metadata table
      table_catalog_entry = (
          self.evadb.catalog().get_table_catalog_entry("MyVideo")
      )
      video_dir = table_catalog_entry.file_url
      self.assertFalse(table_catalog_entry is None)
      column_objects = (
          self.evadb.catalog().get_column_catalog_entries_by_table(
              table_catalog_entry
          )
      )
      # no of column objects should equal what we have defined plus one for row_id
      self.assertEqual(
          len(column_objects),
          len(get_video_table_column_definitions()) + 1,
      )
      self.assertTrue(Path(video_dir).exists())
      video_metadata_table = self.evadb.catalog().get_multimedia_metadata_table_catalog_entry(
          table_catalog_entry
      )
      self.assertTrue(video_metadata_table is not None)
  
      drop_query = """DROP TABLE IF EXISTS MyVideo;"""
      execute_query_fetch_all(self.evadb, drop_query)
      self.assertTrue(
          self.evadb.catalog().get_table_catalog_entry("MyVideo")
          is None
      )
      column_objects = (
          self.evadb.catalog().get_column_catalog_entries_by_table(
              table_catalog_entry
          )
      )
      self.assertEqual(len(column_objects), 0)
      self.assertFalse(Path(video_dir).exists())
  
      # Fail if table already dropped
      drop_query = """DROP TABLE MyVideo;"""
      with self.assertRaises(ExecutorError):
          execute_query_fetch_all(
              self.evadb, drop_query, do_not_print_exceptions=True
          )
  
      # we should be able to re-create the table
      execute_query_fetch_all(self.evadb, query)
      # clean up
      execute_query_fetch_all(self.evadb, drop_query)
  
imports: import unittest
  from pathlib import Path
  from test.util import create_sample_video, file_remove, get_evadb_for_testing
  import pandas
  import pytest
  from evadb.catalog.catalog_utils import get_video_table_column_definitions
  from evadb.executor.executor_utils import ExecutorError
  from evadb.models.storage.batch import Batch
  from evadb.server.command_handler import execute_query_fetch_all
  from evadb.storage.storage_engine import StorageEngine
label_desc: Use image node_id 4 for calling the DropObjectExecutorTest obj's underlying member method code with example usage: obj.test_should_drop_table() without return types