code: def fake_finish_node_with_handle(
      mlmd_handle, node, execution_id, success=True
  ) -> Optional[typing_utils.ArtifactMultiMap]:
      """Simulates finishing an execution of the given node."""
      if node.HasField("outputs"):
          output_key, output_value = next(
              iter(node.outputs.outputs.items())
          )
          output = types.Artifact(output_value.artifact_spec.type)
          output.uri = str(uuid.uuid4())
          output_artifacts = {output_key: [output]}
      else:
          output_artifacts = None
      contexts = context_lib.prepare_contexts(
          mlmd_handle, node.contexts
      )
  
      if success:
          (
              output_dict,
              _,
          ) = execution_publish_utils.publish_succeeded_execution(
              mlmd_handle, execution_id, contexts, output_artifacts
          )
          return output_dict
      else:
          execution_publish_utils.publish_failed_execution(
              mlmd_handle, contexts, execution_id
          )
          return None
  
imports: import os
  from typing import Dict, Optional
  import uuid
  from absl.testing.absltest import mock
  from tfx import types
  from tfx.orchestration import data_types_utils
  from tfx.orchestration import metadata
  from tfx.orchestration import node_proto_view
  from tfx.orchestration.experimental.core import env
  from tfx.orchestration.experimental.core import mlmd_state
  from tfx.orchestration.experimental.core import pipeline_state
  from tfx.orchestration.experimental.core import service_jobs
  from tfx.orchestration.experimental.core import task
  from tfx.orchestration import mlmd_connection_manager
  from tfx.orchestration.portable import cache_utils
  from tfx.orchestration.portable import execution_publish_utils
  from tfx.orchestration.portable import outputs_utils
  from tfx.orchestration.portable.mlmd import context_lib
  from tfx.orchestration.portable.mlmd import execution_lib
  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 tfx.utils import typing_utils
  from ml_metadata.proto import metadata_store_pb2
label_desc: Use image node_id 12 for calling a global function with example usage: fake_finish_node_with_handle(mlmd_handle, node, execution_id, success) and returns: output_dict, None