# #### What this tests ####
# #  Allow the user to easily run the local proxy server with Gunicorn
# # LOCAL TESTING ONLY 
# import sys, os, subprocess
# import traceback
# from dotenv import load_dotenv

# load_dotenv()
# import os, io

# # this file is to test litellm/proxy

# sys.path.insert(
#     0, os.path.abspath("../..")
# )  # Adds the parent directory to the system path 
# import pytest
# import litellm 

# ### LOCAL Proxy Server INIT ###
# from litellm.proxy.proxy_server import save_worker_config  # Replace with the actual module where your FastAPI router is defined
# filepath = os.path.dirname(os.path.abspath(__file__))
# config_fp = f"{filepath}/test_configs/test_config_custom_auth.yaml"
# def get_openai_info(): 
#     return {
#         "api_key": os.getenv("AZURE_API_KEY"),
#         "api_base": os.getenv("AZURE_API_BASE"),
#     }

# def run_server(host="0.0.0.0",port=8008,num_workers=None):
#     if num_workers is None:
#         # Set it to min(8,cpu_count())
#         import multiprocessing
#         num_workers = min(4,multiprocessing.cpu_count())

#     ### LOAD KEYS ###

#     # Load the Azure keys. For now get them from openai-usage
#     azure_info = get_openai_info()
#     print(f"Azure info:{azure_info}")
#     os.environ["AZURE_API_KEY"] = azure_info['api_key']
#     os.environ["AZURE_API_BASE"] = azure_info['api_base']
#     os.environ["AZURE_API_VERSION"] = "2023-09-01-preview"

#     ### SAVE CONFIG ### 

#     os.environ["WORKER_CONFIG"] = config_fp

#     # In order for the app to behave well with signals, run it with gunicorn
#     # The first argument must be the "name of the command run"
#     cmd = f"gunicorn litellm.proxy.proxy_server:app --workers {num_workers} --worker-class uvicorn.workers.UvicornWorker --bind {host}:{port}"
#     cmd = cmd.split()
#     print(f"Running command: {cmd}")
#     import sys
#     sys.stdout.flush()
#     sys.stderr.flush()

#     # Make sure to propage env variables
#     subprocess.run(cmd)  # This line actually starts Gunicorn

# if __name__ == "__main__":
#     run_server()