docstr: End-to-End test for simple pipeline.
docstr_tok: ["End-to-End","test","for","simple","pipeline","."]
code: def testSimpleEnd2EndPipeline(self):
      """End-to-End test for simple pipeline."""
      pipeline_name = "kubeflow-e2e-test-{}".format(
          test_utils.random_id()
      )
      # Test data is copied from the repository(tfx/components/testdata/) to an
      # ephemeral location in GCS bucket(BaseKubeflowTest._BUCKET_NAME).
      # See kubeflow_test_utils.BaseKubeflowTest.setUp() for the detail.
      components = kubeflow_test_utils.create_e2e_components(
          self._pipeline_root(pipeline_name),
          self._data_root,
          self._transform_module,
          self._trainer_module,
      )
      pipeline = self._create_pipeline(pipeline_name, components)
  
      self._compile_and_run_pipeline(pipeline)
      self._assert_infra_validator_passed(pipeline_name)
  
imports: import os
  import subprocess
  import time
  from typing import List
  from absl import logging
  from grpc import insecure_channel
  import tensorflow
  from tfx.dsl.io import fileio
  from tfx.orchestration import test_utils
  from tfx.orchestration.experimental.core.testing import test_dynamic_exec_properties_pipeline
  from tfx.orchestration.kubeflow import test_utils
  from tfx.orchestration.test_pipelines import download_grep_print_pipeline
  from tfx.types import standard_artifacts
  from ml_metadata.proto import metadata_store_pb2
  from ml_metadata.proto import metadata_store_service_pb2
  from ml_metadata.proto import metadata_store_service_pb2_grpc
label_desc: Use image node_id 10 for calling the KubeflowEndToEndTest obj's underlying member method code with example usage: obj.testSimpleEnd2EndPipeline() without return types