code: def testPipelineUpdate(self):
      result = self.runner.invoke(
          pipeline_group,
          [
              "update",
              "--pipeline_path",
              "chicago.py",
              "--engine",
              "kubeflow",
              "--iap_client_id",
              "fake_id",
              "--namespace",
              "kubeflow",
              "--endpoint",
              "endpoint_url",
          ],
      )
      self.assertIn("Updating pipeline", result.output)
      result = self.runner.invoke(
          pipeline_group,
          [
              "update",
              "--pipeline-path",
              "chicago.py",
              "--engine",
              "kubeflow",
              "--iap-client-id",
              "fake_id",
              "--namespace",
              "kubeflow",
              "--endpoint",
              "endpoint_url",
          ],
      )
      self.assertIn("Updating pipeline", result.output)
  
imports: import codecs
  import locale
  import os
  from unittest import mock
  from click import testing
  import tensorflow
  from tfx.tools.cli.commands.pipeline import pipeline_group
  from tfx.tools.cli.handler import handler_factory
  from tfx.utils import test_case_utils
label_desc: Use image node_id 3 for calling the PipelineTest obj's underlying member method code with example usage: obj.testPipelineUpdate() without return types