code: def _prepare_execution_info(self):
      execution_publish_utils.register_execution(
          self.mlmd_handle,
          self.execution_type,
          contexts=[],
          exec_properties={"foo_arg": "haha"},
      )
      [execution] = self.mlmd_handle.store.get_executions()
      self.assertEqual(
          execution.last_known_state, proto.Execution.RUNNING
      )
  
      execution_invocation = execution_invocation_pb2.ExecutionInvocation(
          execution_properties=data_types_utils.build_metadata_value_dict(
              {"foo_arg": "haha"}
          ),
          output_dict=data_types_utils.build_artifact_struct_dict(
              {"example": [self.example_artifact]}
          ),
          execution_id=execution.id,
          stateful_working_dir=self.stateful_working_dir,
      )
      return data_types.ExecutionInfo.from_proto(execution_invocation)
  
imports: import os
  from absl.testing import parameterized
  from absl.testing.absltest import mock
  import tensorflow
  from tfx.dsl.io import fileio
  from tfx.orchestration import data_types_utils
  from tfx.orchestration import metadata
  from tfx.orchestration.experimental.core import component_generated_alert_pb2
  from tfx.orchestration.experimental.core import constants
  from tfx.orchestration.experimental.core import event_observer
  from tfx.orchestration.experimental.core import post_execution_utils
  from tfx.orchestration.experimental.core import task
  from tfx.orchestration.experimental.core import task_scheduler
  from tfx.orchestration.experimental.core import test_utils
  from tfx.orchestration.portable import data_types
  from tfx.orchestration.portable import execution_publish_utils
  from tfx.proto.orchestration import execution_invocation_pb2
  from tfx.proto.orchestration import execution_result_pb2
  from tfx.proto.orchestration import pipeline_pb2
  from tfx.types import standard_artifacts
  from tfx.utils import status
  from tfx.utils import test_case_utils
  from ml_metadata import proto
label_desc: Use image node_id 3 for calling the PostExecutionUtilsTest obj's underlying member method code with example usage: obj._prepare_execution_info() and returns: data_types