code: def test_server_update(
      tmp_path: Path,
      basic_config_dict,
      update_config_dict,
      basic_routes,
      update_routes,
  ):
      config = tmp_path / "config.yaml"
      save_yaml(config, basic_config_dict)
  
      with Gateway(config) as gateway:
          response = gateway.get(BASE_ROUTE)
          assert response.json()["routes"] == basic_routes
  
          # push an update to the config file
          save_yaml(config, update_config_dict)
  
          # Ensure there is no server downtime
          gateway.assert_health()
  
          # Wait for the app to restart
          gateway.wait_reload()
          response = gateway.get(BASE_ROUTE)
  
          assert response.json()["routes"] == update_routes
  
          # push the original file back
          save_yaml(config, basic_config_dict)
          gateway.assert_health()
          gateway.wait_reload()
          response = gateway.get(BASE_ROUTE)
          assert response.json()["routes"] == basic_routes
  
file_path: mlflow/tests/gateway/test_runner.py
imports: from pathlib import Path
  import pytest
  from tests.gateway.tools import Gateway, save_yaml
label_desc: Use image node_id 6 for calling a global function with example usage: test_server_update(tmp_path, basic_config_dict, update_config_dict, basic_routes, update_routes) without return types