ASR-demo/realtime_asr_optimization_demo/tests/test_model_service.py

33 lines
1.2 KiB
Python
Raw Normal View History

2026-09-10 05:47:09 +00:00
"""独立音频请求准备逻辑的回归测试。"""
from __future__ import annotations
import unittest
import wave
from io import BytesIO
from model_service import pcm16_to_wav, prepare_audio_request, wav_to_pcm16
from auxiliary_service import AuxiliaryModelService, AuxiliaryServiceConfig
class ModelServiceTests(unittest.TestCase):
def test_pcm_is_wrapped_as_16k_mono_wav(self) -> None:
wav_bytes = pcm16_to_wav(b"\x00\x00" * 160)
with wave.open(BytesIO(wav_bytes), "rb") as wav_file:
self.assertEqual(wav_file.getframerate(), 16000)
self.assertEqual(wav_file.getnchannels(), 1)
self.assertEqual(wav_to_pcm16(wav_bytes), b"\x00\x00" * 160)
def test_compressed_partial_is_deferred(self) -> None:
self.assertIsNone(prepare_audio_request(b"partial", "file", "sample.mp3", partial=True))
prepared = prepare_audio_request(b"complete", "file", "sample.mp3", partial=False)
self.assertEqual(prepared[1], "sample.mp3")
def test_auxiliary_config_is_independent_from_vllm(self) -> None:
service = AuxiliaryModelService(AuxiliaryServiceConfig())
self.assertEqual(service.config.base_url, "http://127.0.0.1:8010")
if __name__ == "__main__":
unittest.main()