from backend import config from backend.llm import _resolve_backend, set_model_override def test_override_wins_for_vision_and_text(): set_model_override("openai/gpt-4o") try: assert _resolve_backend(has_images=True, model_override=None)["model"] == "openai/gpt-4o" assert _resolve_backend(has_images=False, model_override=None)["model"] == "openai/gpt-4o" finally: set_model_override(None) def test_override_beats_per_call_model_arg(): set_model_override("openai/gpt-4o") try: # Agents pass their AGENT_*_MODEL per call; the user's job pick wins. assert _resolve_backend(has_images=False, model_override="other/model")["model"] == "openai/gpt-4o" finally: set_model_override(None) def test_no_override_keeps_defaults(): set_model_override(None) assert _resolve_backend(has_images=True, model_override=None)["model"] == config.MODEL assert _resolve_backend(has_images=False, model_override=None)["model"] == config.TEXT_MODEL