25 lines
854 B
Python
25 lines
854 B
Python
|
|
import asyncio
|
||
|
|
|
||
|
|
from app.core.warmup import warmup_local_models
|
||
|
|
|
||
|
|
|
||
|
|
def test_warmup_is_noop_for_cloud_defaults():
|
||
|
|
# Mit den Test-Defaults (openrouter-Provider) lädt warmup nichts und wirft nicht.
|
||
|
|
asyncio.run(warmup_local_models())
|
||
|
|
|
||
|
|
|
||
|
|
def test_warmup_loads_piper(monkeypatch):
|
||
|
|
calls = {}
|
||
|
|
|
||
|
|
class FakePiperTTSProvider: # Name muss zur Typpruefung im warmup passen
|
||
|
|
async def synthesize(self, text, voice=None, audio_format="pcm"):
|
||
|
|
calls["tts"] = text
|
||
|
|
return b"AUDIO"
|
||
|
|
|
||
|
|
import app.dependencies as deps
|
||
|
|
monkeypatch.setattr(deps, "get_tts_provider", lambda *a, **k: FakePiperTTSProvider())
|
||
|
|
# Klassennamen auf den vom warmup geprueften Namen setzen.
|
||
|
|
FakePiperTTSProvider.__name__ = "PiperTTSProvider"
|
||
|
|
|
||
|
|
asyncio.run(warmup_local_models())
|
||
|
|
assert calls.get("tts") # synthesize wurde aufgerufen
|