code: def testBuildTwoStepPipelineWithMultipleImages(self):
      images = {
          pipeline_builder.DEFAULT_IMAGE_PATH_KEY: "gcr.io/my-tfx:latest",
          "BigQueryExampleGen": "gcr.io/big-query:1.0.0",
      }
      my_builder = pipeline_builder.PipelineBuilder(
          tfx_pipeline=test_utils.two_step_pipeline(),
          default_image=images,
      )
      actual_pipeline_spec = my_builder.build()
      self.assertProtoEquals(
          test_utils.get_proto_from_test_data(
              "expected_two_step_pipeline_with_multiple_images.pbtxt",
              pipeline_pb2.PipelineSpec(),
          ),
          actual_pipeline_spec,
      )
  
imports: from kfp.pipeline_spec import pipeline_spec_pb2
  import tensorflow
  from tfx.orchestration.kubeflow import decorators
  from tfx.orchestration.kubeflow.v2 import pipeline_builder
  from tfx.orchestration.kubeflow.v2 import test_utils
label_desc: Use image node_id 3 for calling the PipelineBuilderTest obj's underlying member method code with example usage: obj.testBuildTwoStepPipelineWithMultipleImages() without return types