class_docstr: Defines testing harness for pipeline on KubeflowV2DagRunner.
code: def setUp(self):
      super().setUp()
      self._test_id = test_utils.random_id()
      self.enter_context(
          test_case_utils.change_working_dir(self.tmp_dir)
      )
      self._test_output_dir = "gs://{}/test_output".format(
          self._BUCKET_NAME
      )
      self._test_data_dir = "gs://{}/test_data/{}".format(
          self._BUCKET_NAME, self._test_id
      )
      self._output_filename = "pipeline.json"
      self._serving_model_dir = os.path.join(
          self._test_output_dir, "output"
      )
  
      aiplatform.init(
          project=self._GCP_PROJECT_ID,
          location=self._GCP_REGION,
      )
  
imports: import datetime
  import os
  import subprocess
  from typing import Any, Dict, List, Optional
  from absl import logging
  from google.cloud import aiplatform
  from google.cloud.aiplatform import pipeline_jobs
  from tfx.dsl.components.base import base_node
  from tfx.orchestration import pipeline
  from tfx.orchestration import test_utils
  from tfx.orchestration.kubeflow.v2 import kubeflow_v2_dag_runner
  from tfx.orchestration.kubeflow.v2 import vertex_client_utils
  from tfx.utils import io_utils
  from tfx.utils import test_case_utils
label_desc: Use image node_id 3 for calling the BaseKubeflowV2Test obj's underlying member method code with example usage: obj.setUp() without return types