Files
vllm-omni/tests/entrypoints/test_realtime_connection_helpers.py
T
2026-10-06 22:07:31 +08:00

42 lines
1.7 KiB
Python

# SPDX-License-Identifier: Apache-2.0
# SPDX-FileCopyrightText: Copyright contributors to the vLLM-Omni project
"""Unit tests for AsyncOmni input streaming parameter validation."""
from __future__ import annotations
import pytest
from vllm.sampling_params import RequestOutputKind, SamplingParams
from vllm_omni.entrypoints.async_omni import AsyncOmni
pytestmark = [pytest.mark.core_model, pytest.mark.cpu]
class TestAsyncOmniStreamingParamsValidation:
def test_accepts_streaming_friendly_params(self) -> None:
p = SamplingParams(
n=1,
stop=[],
output_kind=RequestOutputKind.DELTA,
)
AsyncOmni._validate_streaming_input_sampling_params(p)
def test_rejects_non_sampling_params(self) -> None:
with pytest.raises(ValueError, match="Input streaming"):
AsyncOmni._validate_streaming_input_sampling_params(object()) # type: ignore[arg-type]
def test_rejects_n_greater_than_one(self) -> None:
p = SamplingParams(n=2, stop=[], output_kind=RequestOutputKind.DELTA)
with pytest.raises(ValueError, match="Input streaming"):
AsyncOmni._validate_streaming_input_sampling_params(p)
def test_rejects_final_only(self) -> None:
p = SamplingParams(n=1, stop=[], output_kind=RequestOutputKind.FINAL_ONLY)
with pytest.raises(ValueError, match="Input streaming"):
AsyncOmni._validate_streaming_input_sampling_params(p)
def test_rejects_stop_strings(self) -> None:
p = SamplingParams(n=1, stop=["\n"], output_kind=RequestOutputKind.DELTA)
with pytest.raises(ValueError, match="Input streaming"):
AsyncOmni._validate_streaming_input_sampling_params(p)