code: def test_loading_from_previous_node(
      default_model_storage: ModelStorage,
  ):
      test_value_for_sub_directory = {"test": "test value sub dir"}
      test_value = {"test dir": "test value dir"}
  
      graph_schema = GraphSchema(
          {
              "train": SchemaNode(
                  needs={},
                  uses=PersistableTestComponent,
                  fn="train",
                  constructor_name="create",
                  config={
                      "test_value": test_value,
                      "test_value_for_sub_directory": test_value_for_sub_directory,
                  },
              ),
              "load": SchemaNode(
                  needs={"resource": "train"},
                  uses=PersistableTestComponent,
                  fn="run_inference",
                  constructor_name="load",
                  config={},
                  is_target=True,
              ),
          }
      )
  
      runner = DaskGraphRunner(
          graph_schema=graph_schema,
          model_storage=default_model_storage,
          execution_context=ExecutionContext(
              graph_schema=graph_schema, model_id="1"
          ),
      )
  
      results = runner.run()
  
      assert results["load"] == test_value
  
imports: from __future__ import annotations
  from typing import Optional
  import pytest
  from rasa.engine.graph import ExecutionContext, GraphSchema, SchemaNode
  from rasa.engine.exceptions import GraphRunError
  from rasa.engine.runner.dask import DaskGraphRunner
  from rasa.engine.storage.storage import ModelStorage
  from tests.engine.graph_components_test_classes import AddInputs, AssertComponent, ExecutionContextAware, ProvideX, SubtractByX, PersistableTestComponent
label_desc: Use image node_id 12 for calling a global function with example usage: test_loading_from_previous_node(default_model_storage) without return types