code: def test_simple_in_memory_action_graph_query(
      simple_in_memory_action_graph: InMemoryActionGraphStore,
      verify_key: SyftVerifyKey,
  ) -> None:
      qks = QueryKeys(
          qks=[
              ExecutionStatusPartitionKey.with_obj(
                  ExecutionStatus.PROCESSING
              )
          ]
      )
      result = simple_in_memory_action_graph.query(qks, verify_key).ok()
      # the nodes should be in the order of how they were added
      nodes = list(simple_in_memory_action_graph.nodes(verify_key).ok())
      node_1: NodeActionData = nodes[0][1]["data"]
      node_2: NodeActionData = nodes[1][1]["data"]
      node_3: NodeActionData = nodes[2][1]["data"]
      assert result[0] == node_1.id
      assert result[1] == node_2.id
      assert result[2] == node_3.id
      # change the status of a node and do the query again
      node_1.status = ExecutionStatus.DONE
      done_qks = QueryKeys(
          qks=[
              ExecutionStatusPartitionKey.with_obj(ExecutionStatus.DONE)
          ]
      )
      done_result = simple_in_memory_action_graph.query(
          done_qks, verify_key
      ).ok()
      processing_result = simple_in_memory_action_graph.query(
          qks, verify_key
      ).ok()
      assert done_result[0] == node_1.id
      assert processing_result[0] == node_2.id
      assert processing_result[1] == node_3.id
  
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 18 for calling a global function with example usage: test_simple_in_memory_action_graph_query(simple_in_memory_action_graph, verify_key) without return types