code: def setUp(self):
      super().setUp()
  
      self._output_data_dir = os.path.join(
          os.environ.get(
              "TEST_UNDECLARED_OUTPUTS_DIR", self.get_temp_dir()
          ),
          self._testMethodName,
      )
      self._job_dir = os.path.join(self._output_data_dir, "jobDir")
      self._project_id = "12345"
      self._job_id = "fake_job_id"
      self._inputs = {}
      self._outputs = {}
      # Dict format of exec_properties. custom_config needs to be serialized
      # before being passed into Do function.
      self._exec_properties = {
          "custom_config": {
              ai_platform_trainer_executor.JOB_ID_KEY: self._job_id,
              ai_platform_tuner_executor.TUNING_ARGS_KEY: {
                  "project": self._project_id,
                  "jobDir": self._job_dir,
              },
          },
      }
      self._executor_class_path = name_utils.get_full_name(
          ai_platform_tuner_executor._WorkerExecutor
      )
  
      self.addCleanup(mock.patch.stopall)
      self.mock_runner = mock.patch(
          "tfx.extensions.google_cloud_ai_platform.tuner.executor.runner"
      ).start()
  
imports: import copy
  import os
  from typing import Any, Dict
  from unittest import mock
  import tensorflow
  from tfx.extensions.google_cloud_ai_platform import constants
  from tfx.extensions.google_cloud_ai_platform.trainer import executor
  from tfx.extensions.google_cloud_ai_platform.tuner import executor
  from tfx.proto import tuner_pb2
  from tfx.types import standard_component_specs
  from tfx.utils import json_utils
  from tfx.utils import name_utils
  from tfx.utils import proto_utils
label_desc: Use image node_id 1 for calling the ExecutorTest obj's underlying member method code with example usage: obj.setUp() without return types