code: def setUp(self):
      super().setUp()
  
      # Flags for handler.
      self.engine = "kubeflow"
      self.chicago_taxi_pipeline_dir = os.path.join(
          os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
          "testdata",
      )
  
      self.enter_context(
          test_case_utils.change_working_dir(self.tmp_dir)
      )
      self.enter_context(
          test_case_utils.override_env_var(
              "KFP_E2E_BASE_CONTAINER_IMAGE", "dummy-image"
          )
      )
      self.enter_context(
          test_case_utils.override_env_var(
              "KFP_E2E_BUCKET_NAME", "dummy-bucket"
          )
      )
      self.enter_context(
          test_case_utils.override_env_var(
              "KFP_E2E_TEST_DATA_ROOT", "dummy-root"
          )
      )
  
      self.pipeline_path = os.path.join(
          self.chicago_taxi_pipeline_dir, "test_pipeline_kubeflow_1.py"
      )
      self.pipeline_name = "chicago_taxi_pipeline_kubeflow"
  
      # Kubeflow client params.
      self.endpoint = "dummyEndpoint"
      self.namespace = "kubeflow"
      self.iap_client_id = "dummyID"
  
      self.runtime_parameter = {"a": "1", "b": "2"}
  
      default_flags = {
          labels.ENGINE_FLAG: self.engine,
          labels.ENDPOINT: self.endpoint,
          labels.IAP_CLIENT_ID: self.iap_client_id,
          labels.NAMESPACE: self.namespace,
      }
  
      self.flags_with_name = {
          **default_flags,
          labels.PIPELINE_NAME: self.pipeline_name,
      }
  
      self.flags_with_runtime_param = {
          **default_flags,
          labels.PIPELINE_NAME: self.pipeline_name,
          labels.RUNTIME_PARAMETER: self.runtime_parameter,
      }
  
      self.flags_with_dsl_path = {
          **default_flags,
          labels.PIPELINE_DSL_PATH: self.pipeline_path,
      }
  
      # Pipeline args for mocking subprocess.
      self.pipeline_args = {
          "pipeline_name": "chicago_taxi_pipeline_kubeflow"
      }
      self.pipeline_id = "the_pipeline_id"
      self.experiment_id = "the_experiment_id"
      self.pipeline_version_id = "the_pipeline_version_id"
  
      mock_client_cls = self.enter_context(
          mock.patch.object(kfp, "Client", autospec=True)
      )
      self.mock_client = mock_client_cls.return_value
      # Required to access generated apis.
      self.mock_client._experiment_api = mock.MagicMock()
  
      self.mock_client.get_pipeline_id.return_value = self.pipeline_id
      self.mock_client.get_experiment.return_value.id = (
          self.experiment_id
      )
      versions = [mock.MagicMock()]
      versions[0].id = self.pipeline_version_id
      self.mock_client.list_pipeline_versions.return_value.versions = (
          versions
      )
  
imports: import datetime
  import os
  import sys
  from unittest import mock
  import kfp
  import tensorflow
  from tfx.dsl.components.base import base_driver
  from tfx.dsl.io import fileio
  from tfx.tools.cli import labels
  from tfx.tools.cli.handler import kubeflow_dag_runner_patcher
  from tfx.tools.cli.handler import kubeflow_handler
  from tfx.utils import test_case_utils
label_desc: Use image node_id 1 for calling the KubeflowHandlerTest obj's underlying member method code with example usage: obj.setUp() without return types