code: def testTwoStepPipelineWithDynamicExecutionProperties(self):
      pipeline = (
          test_utils.two_step_pipeline_with_dynamic_exec_properties()
      )
      pipeline_spec = pipeline_builder.PipelineBuilder(
          tfx_pipeline=pipeline, default_image="gcr.io/my-tfx:latest"
      ).build()
      self.assertProtoEquals(
          test_utils.get_proto_from_test_data(
              "expected_two_step_pipeline_with_dynamic_execution_properties.pbtxt",
              pipeline_pb2.PipelineSpec(),
          ),
          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 14 for calling the PipelineBuilderTest obj's underlying member method code with example usage: obj.testTwoStepPipelineWithDynamicExecutionProperties() without return types