code: def test_execution_options(self):
      component = _BasicComponent(
          component_spec_args=_COMPONENT_SPEC_ARGS
      )
      component.node_execution_options = utils.NodeExecutionOptions(
          trigger_strategy=pipeline_pb2.NodeExecutionOptions.ALL_UPSTREAM_NODES_COMPLETED,
          success_optional=True,
          max_execution_retries=-1,
          execution_timeout_sec=100,
          lifetime_start="foo",
          reset_stateful_working_dir=True,
          _run_mode=pipeline_pb2.NodeExecutionOptions.RunMode.LAUNCH_ONLY,
      )
      self.assertEqual(
          component.node_execution_options,
          utils.NodeExecutionOptions(
              trigger_strategy=pipeline_pb2.NodeExecutionOptions.ALL_UPSTREAM_NODES_COMPLETED,
              success_optional=True,
              max_execution_retries=0,
              execution_timeout_sec=100,
              lifetime_start="foo",
              reset_stateful_working_dir=True,
              _run_mode=pipeline_pb2.NodeExecutionOptions.RunMode.LAUNCH_ONLY,
          ),
      )
      component.node_execution_options = None
      self.assertIsNone(component.node_execution_options)
  
file_path: tfx/tfx/dsl/experimental/node_execution_options/utils_test.py
imports: import tensorflow
  from tfx import types
  from tfx.dsl.components.base import base_component
  from tfx.dsl.components.base import base_executor
  from tfx.dsl.components.base import executor_spec
  from tfx.dsl.experimental.node_execution_options import utils
  from tfx.proto.orchestration import pipeline_pb2
  from tfx.types import channel
  from tfx.types import component_spec
  from tfx.types import standard_artifacts
label_desc: Use image node_id 1 for calling the UtilsTest obj's underlying member method code with example usage: obj.test_execution_options() without return types