code: def test_create_function_with_decorators(self):
      execute_query_fetch_all(
          self.evadb,
          "DROP FUNCTION IF EXISTS DummyObjectDetectorDecorators;",
      )
      create_function_query = """CREATE FUNCTION DummyObjectDetectorDecorators
                    IMPL  'test/util.py';
          """
      execute_query_fetch_all(self.evadb, create_function_query)
  
      catalog_manager = self.evadb.catalog()
      function_obj = catalog_manager.get_function_catalog_entry_by_name(
          "DummyObjectDetectorDecorators"
      )
      function_inputs = (
          catalog_manager.get_function_io_catalog_input_entries(
              function_obj
          )
      )
      self.assertEquals(len(function_inputs), 1)
  
      function_input = function_inputs[0]
  
      expected_input_attributes = {
          "name": "Frame_Array",
          "type": ColumnType.NDARRAY,
          "is_nullable": False,
          "array_type": NdArrayType.UINT8,
          "array_dimensions": (3, 256, 256),
          "is_input": True,
      }
  
      for attr in expected_input_attributes:
          self.assertEquals(
              getattr(function_input, attr),
              expected_input_attributes[attr],
          )
  
      function_outputs = (
          catalog_manager.get_function_io_catalog_output_entries(
              function_obj
          )
      )
      self.assertEquals(len(function_outputs), 1)
  
      function_output = function_outputs[0]
      expected_output_attributes = {
          "name": "label",
          "type": ColumnType.NDARRAY,
          "is_nullable": False,
          "array_type": NdArrayType.STR,
          "array_dimensions": (),
          "is_input": False,
      }
  
      for attr in expected_output_attributes:
          self.assertEquals(
              getattr(function_output, attr),
              expected_output_attributes[attr],
          )
  
imports: import tempfile
  import unittest
  from test.util import DummyObjectDetector, create_dummy_batches, 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.catalog.catalog_type import ColumnType, NdArrayType
  from evadb.executor.executor_utils import ExecutorError
  from evadb.models.storage.batch import Batch
  from evadb.server.command_handler import execute_query_fetch_all
label_desc: Use image node_id 13 for calling the FunctionExecutorTest obj's underlying member method code with example usage: obj.test_create_function_with_decorators() without return types