"""独立音频请求准备逻辑的回归测试。""" 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()