class_docstr: Defines testing harness for pipeline on KubeflowV2DagRunner.
code: def tearDownClass(cls):
      super(BaseKubeflowV2Test, cls).tearDownClass()
  
      if cls.container_image != cls._BASE_CONTAINER_IMAGE:
          # Delete container image used in tests.
          logging.info("Deleting image %s", cls.container_image)
          subprocess.run(
              [
                  "gcloud",
                  "container",
                  "images",
                  "delete",
                  cls.container_image,
              ],
              check=True,
          )
  
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 2 for calling the BaseKubeflowV2Test obj's underlying member method code with example usage: obj.tearDownClass(cls) without return types