Terminal / tests /test_provider_model_defaults.py
Baida07's picture
sync: 166 file da Baida98/AI@a6ac2424e11e5c320c5ff688e1ce7addac64cdab (local-fallback deploy-all) (#47)
ed28aa2
Raw
History Blame
1.7 kB
import ast
from pathlib import Path
import unittest
class ProviderModelDefaultsTests(unittest.TestCase):
@staticmethod
def _provider_defaults() -> dict[str, str]:
source = Path(__file__).resolve().parents[1] / "models" / "ai_client.py"
module = ast.parse(source.read_text(encoding="utf-8"))
for node in module.body:
if isinstance(node, ast.Assign) and any(
isinstance(target, ast.Name) and target.id == "_PROVIDER_DEFS"
for target in node.targets
):
definitions = ast.literal_eval(node.value)
return {item["name"]: item["default_model"] for item in definitions}
raise AssertionError("_PROVIDER_DEFS non trovato")
def test_provider_fallbacks_use_supported_model_ids(self):
defaults = self._provider_defaults()
self.assertEqual(defaults["gemini"], "gemini-3.6-flash")
self.assertEqual(defaults["cerebras"], "gpt-oss-120b")
self.assertEqual(defaults["openrouter"], "openai/gpt-oss-20b:free")
self.assertEqual(defaults["sambanova"], "DeepSeek-V3.1")
self.assertEqual(defaults["hf_router"], "Qwen/Qwen2.5-Coder-32B-Instruct")
self.assertEqual(defaults["nvidia"], "nvidia/nemotron-3-ultra-550b-a55b")
def test_retired_provider_fallbacks_are_not_reintroduced(self):
defaults = set(self._provider_defaults().values())
self.assertNotIn("gemini-2.0-flash-exp", defaults)
self.assertNotIn("llama-4-scout", defaults)
self.assertNotIn("meta-llama/llama-4-scout:free", defaults)
self.assertNotIn("DeepSeek-V3.2", defaults)
if __name__ == "__main__":
unittest.main()