code: def test_node_action_data_from_action_mutagen(
      verify_key: SyftVerifyKey,
  ) -> None:
      """
      action1 -> d = numpy.arry([1, 2, 3])
      action2 -> d.astype('int32') (this is a mutagen node)
      """
      action_obj = ActionObject.from_obj([1, 2, 3])
      action1 = Action(
          path="action.execute",
          op="np.array",
          remote_self=None,
          args=[action_obj.syft_lineage_id],
          kwargs={},
      )
      node_action_data1 = NodeActionData.from_action(
          action=action1, credentials=verify_key
      )
      as_type_action_obj = ActionObject.from_obj("np.int32")
      action2 = Action(
          path="action.execute",
          op="astype",
          remote_self=action1.result_id,
          args=[as_type_action_obj.syft_lineage_id],
          kwargs={},
          result_id=action1.result_id,
      )
      node_action_data2 = NodeActionData.from_action(
          action=action2, credentials=verify_key
      )
      assert node_action_data1.id == action1.id
      assert node_action_data2.id == action2.id
      assert node_action_data1.type == NodeType.ACTION
      assert node_action_data2.type == NodeType.ACTION
      assert node_action_data1.is_mutagen is False
      assert node_action_data2.is_mutagen is True
      assert node_action_data1.next_mutagen_node is None
      assert node_action_data1.last_nm_mutagen_node is None
      assert node_action_data2.next_mutagen_node is None
      assert node_action_data2.last_nm_mutagen_node is None
  
imports: import os
  from pathlib import Path
  import tempfile
  from threading import Thread
  import networkx
  from result import Err
  from syft.node.credentials import SyftVerifyKey
  from syft.service.action.action_graph import ExecutionStatus
  from syft.service.action.action_graph import InMemoryActionGraphStore
  from syft.service.action.action_graph import InMemoryGraphConfig
  from syft.service.action.action_graph import InMemoryStoreClientConfig
  from syft.service.action.action_graph import NetworkXBackingStore
  from syft.service.action.action_graph import NodeActionData
  from syft.service.action.action_graph import NodeActionDataUpdate
  from syft.service.action.action_graph import NodeType
  from syft.service.action.action_graph_service import ExecutionStatusPartitionKey
  from syft.service.action.action_object import Action
  from syft.service.action.action_object import ActionObject
  from syft.store.document_store import QueryKeys
  from syft.store.locks import NoLockingConfig
  from syft.types.datetime import DateTime
  from syft.types.syft_metaclass import Empty
  from syft.types.uid import UID
  from .fixtures import create_action_node
  from .fixtures import create_action_obj_node
label_desc: Use image node_id 3 for calling a global function with example usage: test_node_action_data_from_action_mutagen(verify_key) without return types