code: def test_should_drop_function(self):
      self.run_create_function_query()
      function_name = "DummyObjectDetector"
      function = (
          self.evadb.catalog().get_function_catalog_entry_by_name(
              function_name
          )
      )
      self.assertTrue(function is not None)
  
      # Test that dropping the FUNCTION reflects in the catalog
      drop_query = "DROP FUNCTION IF EXISTS {};".format(function_name)
      execute_query_fetch_all(self.evadb, drop_query)
      function = (
          self.evadb.catalog().get_function_catalog_entry_by_name(
              function_name
          )
      )
      self.assertTrue(function is None)
  
      # We should be able to re-create the function
      self.run_create_function_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 6 for calling the DropObjectExecutorTest obj's underlying member method code with example usage: obj.test_should_drop_function() without return types