Files
strix/tests/test_models.py
T

63 lines
1.9 KiB
Python
Raw Normal View History

2026-06-26 13:10:50 +00:00
"""Tests for LLM model recommendation helpers."""
from __future__ import annotations
import pytest
from strix.config.models import RECOMMENDED_MODEL_NAMES, is_recommended_or_frontier_model
@pytest.mark.parametrize("model_name", RECOMMENDED_MODEL_NAMES)
def test_recommended_models_are_accepted(model_name: str) -> None:
assert is_recommended_or_frontier_model(model_name)
2026-06-26 13:19:09 +00:00
def test_recommended_models_are_matched_case_insensitively() -> None:
assert is_recommended_or_frontier_model("Vertex_AI/Gemini-3-Pro-Preview")
2026-06-26 13:10:50 +00:00
@pytest.mark.parametrize(
"model_name",
[
2026-06-26 16:32:54 +00:00
"gpt-5.5",
"litellm/openai/gpt-5.4-pro",
"azure_ai/gpt-5.5-pro",
"bedrock_mantle/openai.gpt-5.5",
"anthropic/claude-opus-4-8",
"anthropic.claude-opus-4-8",
"vertex_ai/claude-sonnet-4-6@default",
2026-06-26 13:10:50 +00:00
"any-llm/anthropic/claude-sonnet-4-6",
2026-06-26 16:32:54 +00:00
"vertex_ai/gemini-3.1-pro-preview",
"openrouter/google/gemini-3.1-pro-preview",
"xai/grok-4.3",
"openrouter/x-ai/grok-4",
"deepseek/deepseek-v4-pro",
"deepseek/deepseek-r1-0528",
"deepseek/deepseek-reasoner",
"dashscope/qwen3-max-2026-01-23",
"qwen3.7-max",
"moonshot/kimi-k2.6",
"kimi-k2.7-code",
"mistral/mistral-medium-3-5",
"mistral/magistral-medium-latest",
2026-06-26 13:10:50 +00:00
],
)
def test_frontier_model_families_are_accepted(model_name: str) -> None:
assert is_recommended_or_frontier_model(model_name)
@pytest.mark.parametrize(
"model_name",
[
"",
"openai/gpt-4.1",
"anthropic/claude-3-5-sonnet-latest",
"ollama/llama3.1",
"deepseek/deepseek-chat",
2026-06-26 13:19:09 +00:00
"custom-ollama/gpt-5-mini-local",
2026-06-26 16:32:54 +00:00
"custom-provider/claude-opus-4-local",
2026-06-26 13:10:50 +00:00
],
)
def test_non_frontier_models_are_rejected(model_name: str) -> None:
assert not is_recommended_or_frontier_model(model_name)