code: def test_load_router_config():
      try:
          import asyncio
  
          print("testing reading config")
          # this is a basic config.yaml with only a model
          filepath = os.path.dirname(os.path.abspath(__file__))
          proxy_config = ProxyConfig()
          result = asyncio.run(
              proxy_config.load_config(
                  router=None,
                  config_file_path=f"{filepath}/example_config_yaml/simple_config.yaml",
              )
          )
          print(result)
          assert len(result[1]) == 1
  
          # this is a load balancing config yaml
          result = asyncio.run(
              proxy_config.load_config(
                  router=None,
                  config_file_path=f"{filepath}/example_config_yaml/azure_config.yaml",
              )
          )
          print(result)
          assert len(result[1]) == 2
  
          # config with general settings - custom callbacks
          result = asyncio.run(
              proxy_config.load_config(
                  router=None,
                  config_file_path=f"{filepath}/example_config_yaml/azure_config.yaml",
              )
          )
          print(result)
          assert len(result[1]) == 2
  
          # tests for litellm.cache set from config
          print("testing reading proxy config for cache")
          litellm.cache = None
          asyncio.run(
              proxy_config.load_config(
                  router=None,
                  config_file_path=f"{filepath}/example_config_yaml/cache_no_params.yaml",
              )
          )
          assert litellm.cache is not None
          assert "redis_client" in vars(
              litellm.cache.cache
          )  # it should default to redis on proxy
          assert litellm.cache.supported_call_types == [
              "completion",
              "acompletion",
              "embedding",
              "aembedding",
          ]  # init with all call types
  
          litellm.disable_cache()
  
          print("testing reading proxy config for cache with params")
          asyncio.run(
              proxy_config.load_config(
                  router=None,
                  config_file_path=f"{filepath}/example_config_yaml/cache_with_params.yaml",
              )
          )
          assert litellm.cache is not None
          print(litellm.cache)
          print(litellm.cache.supported_call_types)
          print(vars(litellm.cache.cache))
          assert "redis_client" in vars(
              litellm.cache.cache
          )  # it should default to redis on proxy
          assert litellm.cache.supported_call_types == [
              "embedding",
              "aembedding",
          ]  # init with all call types
  
      except Exception as e:
          pytest.fail("Proxy: Got exception reading config", e)
  
imports: import sys, os
  import traceback
  from dotenv import load_dotenv
  import os, io
  import pytest, logging, asyncio
  import litellm
  from litellm import embedding, completion, completion_cost, Timeout
  from litellm import RateLimitError
  from fastapi.testclient import TestClient
  from fastapi import FastAPI
  from litellm.proxy.proxy_server import router, save_worker_config, initialize
  from litellm.integrations.custom_logger import CustomLogger
  from litellm.proxy.proxy_server import ProxyConfig
label_desc: Use image node_id 11 for calling a global function with example usage: test_load_router_config() without return types