code: def test_fluent_query_chat(gateway):
      set_gateway_uri(gateway_uri=gateway.url)
      routes = search_routes()
      expected_output = {
          "id": "chatcmpl-abc123",
          "object": "chat.completion",
          "created": 1677858242,
          "model": "gpt-3.5-turbo-0301",
          "choices": [
              {
                  "message": {
                      "role": "assistant",
                      "content": "The core of the sun is estimated to have a temperature of about "
                      "15 million degrees Celsius (27 million degrees Fahrenheit).",
                  },
                  "finish_reason": "stop",
                  "index": 0,
              }
          ],
          "usage": {
              "prompt_tokens": 17,
              "completion_tokens": 24,
              "total_tokens": 41,
          },
      }
  
      data = {
          "messages": [
              {
                  "role": "user",
                  "content": "How hot is the core of the sun?",
              }
          ]
      }
  
      with mock.patch(
          "mlflow.gateway.fluent.MlflowGatewayClient.query",
          return_value=expected_output,
      ):
          response = query(route=routes[1].name, data=data)
          assert response == expected_output
  
imports: from unittest import mock
  import pytest
  from requests.exceptions import HTTPError
  import mlflow.gateway.utils
  from mlflow.environment_variables import MLFLOW_GATEWAY_URI
  from mlflow.exceptions import MlflowException
  from mlflow.gateway import create_route, delete_route, get_gateway_uri, get_limits, get_route, query, search_routes, set_gateway_uri, set_limits
  from mlflow.gateway.config import Route
  from mlflow.gateway.constants import MLFLOW_GATEWAY_SEARCH_ROUTES_PAGE_SIZE
  from mlflow.gateway.utils import resolve_route_url
  from tests.gateway.tools import Gateway, save_yaml
label_desc: Use image node_id 13 for calling a global function with example usage: test_fluent_query_chat(gateway) without return types