Spaces:
Running
Running
| import ast | |
| from pathlib import Path | |
| import unittest | |
| class ProviderModelDefaultsTests(unittest.TestCase): | |
| 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() | |