"""Rollen-Auflösung: explizit konfiguriert oder harter Stopp — nie ein Default.""" import pytest import config def test_konfigurierte_rolle(monkeypatch): monkeypatch.setenv("ROLLE_SCHNEIDEN", "minimax:minimax/MiniMax-M3") assert config.resolve_role("schneiden") == ("minimax", "minimax/MiniMax-M3") def test_unkonfigurierte_rolle_stoppt(monkeypatch): monkeypatch.delenv("ROLLE_JUDGE", raising=False) with pytest.raises(RuntimeError, match="kein Modell konfiguriert"): config.resolve_role("judge") def test_unbekannter_provider_stoppt(monkeypatch): monkeypatch.setenv("ROLLE_SICHTEN", "openai:gpt-4") with pytest.raises(RuntimeError, match="unbekannter Provider"): config.resolve_role("sichten") def test_fehlendes_modell_stoppt(monkeypatch): monkeypatch.setenv("ROLLE_NACHFASS", "minimax") with pytest.raises(RuntimeError, match="Modell fehlt"): config.resolve_role("nachfass") def test_alle_rollen_deklariert(): assert set(config.ROLLEN) == {"schneiden", "nachfass", "sichten", "judge"}