code: def testRunExecutorWithBeamPipelineArgs(self):
      executor_spec = text_format.Parse(
          """
        python_executor_spec: {
            class_path: "tfx.orchestration.portable.beam_executor_operator_test.ValidateBeamPipelineArgsExecutor"
        }
        beam_pipeline_args_placeholders {
          value {
            string_value: "--runner=DirectRunner"
          }
        }
      """,
          executable_spec_pb2.BeamExecutableSpec(),
      )
      operator = beam_executor_operator.BeamExecutorOperator(
          executor_spec
      )
      pipeline_node = pipeline_pb2.PipelineNode(
          node_info={"id": "MyBeamNode"}
      )
      pipeline_info = pipeline_pb2.PipelineInfo(id="MyPipeline")
      executor_output_uri = os.path.join(
          self.tmp_dir, "executor_output"
      )
      executor_output = operator.run_executor(
          data_types.ExecutionInfo(
              execution_id=1,
              input_dict={"input_key": [standard_artifacts.Examples()]},
              output_dict={"output_key": [standard_artifacts.Model()]},
              exec_properties={},
              execution_output_uri=executor_output_uri,
              pipeline_node=pipeline_node,
              pipeline_info=pipeline_info,
              pipeline_run_id="99",
          )
      )
      self.assertProtoPartiallyEquals(
          """
            output_artifacts {
              key: "output_key"
              value {
                artifacts {
                  custom_properties {
                    key: "name"
                    value {
                      string_value: "MyPipeline.MyBeamNode.my_model"
                    }
                  }
                  name: "MyPipeline.MyBeamNode.my_model"
                }
              }
            }""",
          executor_output,
      )
  
file_path: tfx/tfx/orchestration/portable/beam_executor_operator_test.py
imports: import os
  from typing import Any, Dict, List
  import tensorflow
  from tfx import types
  from tfx.dsl.components.base import base_beam_executor
  from tfx.orchestration.portable import beam_executor_operator
  from tfx.orchestration.portable import data_types
  from tfx.proto.orchestration import executable_spec_pb2
  from tfx.proto.orchestration import pipeline_pb2
  from tfx.types import standard_artifacts
  from tfx.utils import test_case_utils
  from google.protobuf import text_format
label_desc: Use image node_id 1 for calling the BeamExecutorOperatorTest obj's underlying member method code with example usage: obj.testRunExecutorWithBeamPipelineArgs() without return types