docstr: Simulates successful execution of a node.
docstr_tok: ["Simulates","successful","execution","of","a","node","."]
code: def _finish_node_execution(
      self, use_task_queue, exec_node_task, success=True
  ):
      """Simulates successful execution of a node."""
      test_utils.fake_execute_node(
          self._mlmd_connection, exec_node_task, None, success
      )
      if use_task_queue:
          dequeued_task = self._task_queue.dequeue()
          self._task_queue.task_done(dequeued_task)
          self.assertEqual(
              exec_node_task.task_id, dequeued_task.task_id
          )
  
imports: import os
  from absl.testing import parameterized
  from absl.testing.absltest import mock
  import tensorflow
  from tfx.orchestration import node_proto_view
  from tfx.orchestration.experimental.core import async_pipeline_task_gen
  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.experimental.core import task_gen_utils
  from tfx.orchestration.experimental.core import task_queue
  from tfx.orchestration.experimental.core import test_utils
  from tfx.orchestration.experimental.core.testing import test_async_pipeline
  from tfx.orchestration import mlmd_connection_manager
  from tfx.orchestration.portable.input_resolution import exceptions
  from tfx.utils import status
label_desc: Use image node_id 2 for calling the AsyncPipelineTaskGeneratorTest obj's underlying member method code with example usage: obj._finish_node_execution(use_task_queue, exec_node_task, success) without return types