code: def test_http_options():
      HTTPOptions()
      HTTPOptions(host="8.8.8.8", middlewares=[object()])
  
      # Test configs ignoring unknown keys (required for forward-compatibility)
      HTTPOptions(
          new_version_config_key="this config is from newer version of Ray"
      )
  
      assert HTTPOptions(host=None).location == "NoServer"
      assert HTTPOptions(location=None).location == "NoServer"
      assert (
          HTTPOptions(location=DeploymentMode.EveryNode).location
          == "EveryNode"
      )
  
imports: import pytest
  from ray import cloudpickle
  from ray._private.pydantic_compat import ValidationError
  from ray._private.utils import import_attr
  from ray.serve._private.config import DeploymentConfig, ReplicaConfig, _proto_to_dict
  from ray.serve._private.constants import DEFAULT_AUTOSCALING_POLICY, DEFAULT_GRPC_PORT
  from ray.serve._private.utils import DEFAULT
  from ray.serve.autoscaling_policy import default_autoscaling_policy
  from ray.serve.config import AutoscalingConfig, DeploymentMode, HTTPOptions, ProxyLocation, gRPCOptions
  from ray.serve.generated.serve_pb2 import AutoscalingConfig
  from ray.serve.generated.serve_pb2 import DeploymentConfig
  from ray.serve.generated.serve_pb2 import DeploymentLanguage
  from ray.serve.generated.serve_pb2_grpc import add_UserDefinedServiceServicer_to_server
  from ray.serve.schema import DeploymentSchema, HTTPOptionsSchema, ServeApplicationSchema, ServeDeploySchema
label_desc: Use image node_id 4 for calling a global function with example usage: test_http_options() without return types