code: def test_tpu_node_fillout(test_case):
      accelerator_config, expected_resource_str = test_case
  
      cluster_config = {
          "available_node_types": {
              "ray_tpu": {
                  "resources": {"TPU": 4},
                  "node_config": {
                      "runtimeVersion": "tpu-vm-v4-base",
                  },
              },
          },
      }
      cluster_config["available_node_types"]["ray_tpu"][
          "node_config"
      ].update(accelerator_config)
  
      new_config = (
          GCPNodeProvider.fillout_available_node_types_resources(
              cluster_config=cluster_config
          )
      )
      resource_config = new_config["available_node_types"]["ray_tpu"][
          "resources"
      ]
      assert expected_resource_str in resource_config
      assert resource_config[expected_resource_str] == 1
  
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 8 for calling a global function with example usage: test_tpu_node_fillout(test_case) without return types