code: def test_can_use_alternate_constructor(
      default_model_storage: ModelStorage,
  ):
      node = GraphNode(
          node_name="provide",
          component_class=ProvideX,
          constructor_name="create_with_2",
          component_config={},
          fn_name="provide",
          inputs={},
          eager=False,
          model_storage=default_model_storage,
          resource=None,
          execution_context=ExecutionContext(GraphSchema({}), "1"),
      )
  
      result = node()
      assert result == ("provide", 2)
  
imports: from __future__ import annotations
  from typing import Any, Dict, Optional, Text
  from unittest.mock import Mock
  import pytest
  import rasa.shared
  import rasa.shared.utils
  import rasa.shared.utils.io
  from rasa.engine.exceptions import GraphComponentException
  from rasa.engine.graph import ExecutionContext, GraphComponent, GraphNode, GraphSchema
  from rasa.engine.storage.storage import ModelStorage
  from rasa.engine.storage.resource import Resource
  from tests.engine.graph_components_test_classes import AddInputs, ExecutionContextAware, ProvideX, SubtractByX, PersistableTestComponent
label_desc: Use image node_id 3 for calling a global function with example usage: test_can_use_alternate_constructor(default_model_storage) without return types