code: def test_start_server(tmp_path):
      config = tmp_path.joinpath("config.yml")
      config.write_text(
          """
  routes:
    - name: chat
      route_type: llm/v1/chat
      model:
        provider: openai
        name: gpt-3.5-turbo
        config:
          openai_api_key: sk-openai
  """
      )
      port = get_safe_port()
      with subprocess.Popen(
          [
              sys.executable,
              "-m",
              "mlflow",
              "deployments",
              "start-server",
              "--config-path",
              config,
              "--port",
              str(port),
          ]
      ) as prc:
          try:
              for _ in range(5):
                  try:
                      if requests.get(
                          f"http://localhost:{port}/health"
                      ).ok:
                          break
                  except requests.exceptions.ConnectionError:
                      time.sleep(1)
              else:
                  raise Exception("Server did not start in time")
          finally:
              prc.terminate()
  
file_path: mlflow/tests/deployments/server/test_server_cli.py
imports: import subprocess
  import sys
  import time
  import pytest
  import requests
  from click.testing import CliRunner
  from mlflow.deployments import cli
  from tests.helper_functions import get_safe_port
label_desc: Use image node_id 3 for calling a global function with example usage: test_start_server(tmp_path) without return types