code: def test_drop_wrong_function_name(self):
      self.run_create_function_query()
      right_function_name = "DummyObjectDetector"
      wrong_function_name = "FakeDummyObjectDetector"
      function = (
          self.evadb.catalog().get_function_catalog_entry_by_name(
              right_function_name
          )
      )
      self.assertTrue(function is not None)
  
      # Test that dropping the wrong FUNCTION:
      # - does not affect FUNCTIONs in the catalog
      # - raises an appropriate exception
      drop_query = "DROP FUNCTION {};".format(wrong_function_name)
      try:
          execute_query_fetch_all(
              self.evadb, drop_query, do_not_print_exceptions=True
          )
      except Exception as e:
          err_msg = "Function {} does not exist, therefore cannot be dropped.".format(
              wrong_function_name
          )
          self.assertTrue(str(e) == err_msg)
      function = (
          self.evadb.catalog().get_function_catalog_entry_by_name(
              right_function_name
          )
      )
      self.assertTrue(function is not None)
  
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 7 for calling the DropObjectExecutorTest obj's underlying member method code with example usage: obj.test_drop_wrong_function_name() without return types