code: def test_celery_queue_success_status(dvc, scm, test_queue, exp_stage):
      queue_entry = test_queue._stash_exp(
          params={"params.yaml": ["foo=1"]},
          targets=exp_stage.addressing,
          name="success",
      )
      infofile = test_queue.get_infofile_path(queue_entry.stash_rev)
      executor = setup_exp.s(queue_entry.asdict())()
      executor_info = ExecutorInfo.load_json(infofile)
      assert executor_info.status == TaskStatus.PREPARING
  
      cmd = ["dvc", "exp", "exec-run", "--infofile", infofile]
      proc_dict = test_queue.proc.run_signature(
          cmd, name=queue_entry.stash_rev
      )()
  
      executor_info = ExecutorInfo.load_json(infofile)
      assert executor_info.status == TaskStatus.SUCCESS
  
      collect_exp.s(proc_dict, queue_entry.asdict())()
      cleanup_exp.s(executor, infofile)()
      executor_info = ExecutorInfo.load_json(infofile)
      assert executor_info.status == TaskStatus.FINISHED
  
file_path: dvc/tests/unit/repo/experiments/test_executor_status.py
imports: import os
  import pytest
  from dvc.exceptions import ReproductionError
  from dvc.repo.experiments.executor.base import ExecutorInfo, TaskStatus
  from dvc.repo.experiments.queue.tasks import cleanup_exp, collect_exp, setup_exp
label_desc: Use image node_id 1 for calling a global function with example usage: test_celery_queue_success_status(dvc, scm, test_queue, exp_stage) without return types