code: def test_create_node_returns_dict():
      mock_node_config = {"machineType": "n2-standard-8"}
      mock_results = [
          ({"dict": 1}, "instance_id1"),
          ({"dict": 2}, "instance_id2"),
      ]
      mock_resource = MagicMock()
      mock_resource.create_instances.return_value = mock_results
      expected_return_value = {
          "instance_id1": {"dict": 1},
          "instance_id2": {"dict": 2},
      }
  
      def __init__(self, provider_config: dict, cluster_name: str):
          self.lock = RLock()
          self.cached_nodes: Dict[str, GCPNode] = {}
          self.resources: Dict[GCPNodeType, GCPResource] = {}
          self.cache_stopped_nodes = False
          self.resources[GCPNodeType.COMPUTE] = mock_resource
  
      with patch.object(GCPNodeProvider, "__init__", __init__):
          node_provider = GCPNodeProvider({}, "")
          create_node_return_value = node_provider.create_node(
              mock_node_config, {}, 1
          )
      assert create_node_return_value == expected_return_value
  
imports: from typing import Dict
  from threading import RLock
  import pytest
  from unittest.mock import MagicMock, patch, call
  import logging
  from ray.autoscaler._private.gcp.node import GCPCompute, GCPNode, GCPNodeType, GCPResource
  from ray.tests.test_autoscaler import MockProcessRunner
  from ray.autoscaler._private.gcp.node_provider import GCPNodeProvider
  from ray.autoscaler._private.gcp.config import get_node_type, _get_num_tpu_chips, _is_single_host_tpu, _has_tpus_in_node_configs, tpu_accelerator_config_to_type
  from ray.autoscaler._private.gcp.tpu_command_runner import TPUCommandRunner, TPUVMSSHCommandRunner, TPUVMDockerCommandRunner
  from ray.autoscaler._private.command_runner import SSHCommandRunner, DockerCommandRunner
label_desc: Use image node_id 1 for calling a global function with example usage: test_create_node_returns_dict() without return types