Files
ray-project--ray/python/ray/serve/tests/unit/test_request_metadata.py
T
2026-07-13 13:17:40 +08:00

51 lines
1.9 KiB
Python

import pytest
from ray.serve._private.common import RequestMetadata, RequestProtocol
def test_request_metadata():
"""Test logic on RequestMetadata.
Ensure the default values are set correctly and both is_http_request and
is_grpc_request returns the correct value. When the _request_protocol is set to
HTTP, is_http_request should return True and is_grpc_request should return False.
When the _request_protocol is set to gRPC, is_http_request should return False and
is_grpc_request should return True.
"""
request_id = "request-id"
internal_request_id = "internal-request-id"
request_metadata = RequestMetadata(
request_id=request_id,
internal_request_id=internal_request_id,
)
# Ensure the default values are set correctly.
assert request_metadata.request_id == request_id
assert request_metadata.call_method == "__call__"
assert request_metadata.route == ""
assert request_metadata.app_name == ""
assert request_metadata.multiplexed_model_id == ""
assert request_metadata.session_id == ""
assert request_metadata.is_streaming is False
assert request_metadata._request_protocol == RequestProtocol.UNDEFINED
assert request_metadata.is_http_request is False
assert request_metadata.is_grpc_request is False
# is_http_request and is_grpc_request returns the correct values when the
# _request_protocol is set to HTTP.
request_metadata._request_protocol = RequestProtocol.HTTP
assert request_metadata.is_http_request is True
assert request_metadata.is_grpc_request is False
# is_http_request and is_grpc_request returns the correct values when the
# _request_protocol is set to gRPC.
request_metadata._request_protocol = RequestProtocol.GRPC
assert request_metadata.is_http_request is False
assert request_metadata.is_grpc_request is True
if __name__ == "__main__":
import sys
sys.exit(pytest.main(["-v", "-s", __file__]))