code: def _run_simple_migration(monkeypatch, old_checkpoint):
      call_order = []
  
      def dummy_upgrade(tag):
          def upgrade(ckpt):
              call_order.append(tag)
              return ckpt
  
          return upgrade
  
      index = {
          "0.0.1": [dummy_upgrade("one")],
          "0.0.2": [dummy_upgrade("two"), dummy_upgrade("three")],
          "1.2.3": [dummy_upgrade("four")],
      }
      monkeypatch.setattr(
          pl.utilities.migration.utils,
          "_migration_index",
          lambda: index,
      )
      new_checkpoint, _ = migrate_checkpoint(old_checkpoint)
      return new_checkpoint, call_order
  
imports: import glob
  import logging
  import os
  import pickle
  import sys
  from unittest.mock import ANY
  import lightning.pytorch
  import pytest
  import torch
  from lightning.fabric.utilities.warnings import PossibleUserWarning
  from lightning.pytorch.utilities.migration import migrate_checkpoint, pl_legacy_patch
  from lightning.pytorch.utilities.migration.utils import _pl_migrate_checkpoint, _RedirectingUnpickler
  from lightning_utilities.core.imports import module_available
  from lightning_utilities.test.warning import no_warning_call
  from packaging.version import Version
  from tests_pytorch.checkpointing.test_legacy_checkpoints import CHECKPOINT_EXTENSION, LEGACY_BACK_COMPATIBLE_PL_VERSIONS, LEGACY_CHECKPOINTS_PATH
label_desc: Use image node_id 9 for calling a global function with example usage: _run_simple_migration(monkeypatch, old_checkpoint) and returns: new_checkpoint,  call_order, upgrade, ckpt