50 lines
1.6 KiB
Python
50 lines
1.6 KiB
Python
import unittest
|
|
|
|
from cli.utils import CUSTOM_OPENROUTER_MODEL, resolve_model_choice
|
|
|
|
|
|
class OpenRouterModelSelectionTests(unittest.TestCase):
|
|
def test_builtin_model_is_returned_unchanged(self):
|
|
self.assertEqual(
|
|
resolve_model_choice("openrouter", "z-ai/glm-4.5-air:free", "Quick-Thinking"),
|
|
"z-ai/glm-4.5-air:free",
|
|
)
|
|
|
|
def test_custom_model_prompt_value_is_trimmed(self):
|
|
chosen = resolve_model_choice(
|
|
"openrouter",
|
|
CUSTOM_OPENROUTER_MODEL,
|
|
"Deep-Thinking",
|
|
prompt_fn=lambda _: " minimax/minimax-m2.1 ",
|
|
)
|
|
self.assertEqual(chosen, "minimax/minimax-m2.1")
|
|
|
|
def test_exit_on_no_choice(self):
|
|
with self.assertRaises(SystemExit) as cm:
|
|
resolve_model_choice("openrouter", None, "Quick-Thinking")
|
|
self.assertEqual(cm.exception.code, 1)
|
|
|
|
def test_exit_on_empty_custom_model_input(self):
|
|
with self.assertRaises(SystemExit) as cm:
|
|
resolve_model_choice(
|
|
"openrouter",
|
|
CUSTOM_OPENROUTER_MODEL,
|
|
"Deep-Thinking",
|
|
prompt_fn=lambda _: " ",
|
|
)
|
|
self.assertEqual(cm.exception.code, 1)
|
|
|
|
def test_exit_on_none_custom_model_input(self):
|
|
with self.assertRaises(SystemExit) as cm:
|
|
resolve_model_choice(
|
|
"openrouter",
|
|
CUSTOM_OPENROUTER_MODEL,
|
|
"Deep-Thinking",
|
|
prompt_fn=lambda _: None,
|
|
)
|
|
self.assertEqual(cm.exception.code, 1)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|