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