code: def test_chat_completion(client_no_auth):
      global headers
  
      from litellm.types.router import RouterConfig, ModelConfig
      from litellm.types.completion import CompletionRequest
  
      user_config = RouterConfig(
          model_list=[
              ModelConfig(
                  model_name="user-azure-instance",
                  litellm_params=CompletionRequest(
                      model="azure/chatgpt-v-2",
                      api_key=os.getenv("AZURE_API_KEY"),
                      api_version=os.getenv("AZURE_API_VERSION"),
                      api_base=os.getenv("AZURE_API_BASE"),
                      timeout=10,
                  ),
                  tpm=240000,
                  rpm=1800,
              ),
              ModelConfig(
                  model_name="user-openai-instance",
                  litellm_params=CompletionRequest(
                      model="gpt-3.5-turbo",
                      api_key=os.getenv("OPENAI_API_KEY"),
                      timeout=10,
                  ),
                  tpm=240000,
                  rpm=1800,
              ),
          ],
          num_retries=2,
          allowed_fails=3,
          fallbacks=[{"user-azure-instance": ["user-openai-instance"]}],
      ).dict()
  
      try:
          # Your test data
          test_data = {
              "model": "user-azure-instance",
              "messages": [
                  {"role": "user", "content": "hi"},
              ],
              "max_tokens": 10,
              "user_config": user_config,
          }
  
          print("testing proxy server with chat completions")
          response = client_no_auth.post(
              "/v1/chat/completions", json=test_data
          )
          print(f"response - {response.text}")
          assert response.status_code == 200
          result = response.json()
          print(f"Received response: {result}")
      except Exception as e:
          pytest.fail(
              f"LiteLLM Proxy test failed. Exception - {str(e)}"
          )
  
file_path: litellm/litellm/tests/test_proxy_pass_user_config.py
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
  import os
  from litellm.proxy.proxy_server import router, save_worker_config, initialize
label_desc: Use image node_id 2 for calling a global function with example usage: test_chat_completion(client_no_auth) without return types