clawbench/tests/test_submission_models.py

44 lines
1.2 KiB
Python

from clawbench.submission_models import (
CUSTOM_PRESET_LABEL,
PRESET_AUDIENCE_BUDGET,
PRESET_AUDIENCE_CLAW,
infer_provider,
preset_labels_for_audience,
resolve_model_selection,
)
def test_budget_audience_keeps_budget_friendly_presets():
labels = preset_labels_for_audience(PRESET_AUDIENCE_BUDGET)
assert "GPT-OSS 20B (Ollama)" in labels
assert "Qwen 3.5 27B (Ollama)" in labels
assert "Claude Opus 4.6" not in labels
def test_claw_audience_keeps_full_catalog():
labels = preset_labels_for_audience(PRESET_AUDIENCE_CLAW)
assert "GPT-OSS 20B (Ollama)" in labels
assert "Claude Opus 4.6" in labels
def test_resolve_model_selection_prefers_preset_provider():
model_id, provider = resolve_model_selection("", "GPT-OSS 20B (Ollama)")
assert model_id == "ollama/gpt-oss:20b"
assert provider == "ollama"
def test_resolve_model_selection_infers_custom_provider():
model_id, provider = resolve_model_selection(
"huggingface/Qwen/Qwen3-32B",
CUSTOM_PRESET_LABEL,
)
assert model_id == "huggingface/Qwen/Qwen3-32B"
assert provider == "huggingface"
def test_infer_provider_requires_provider_prefix():
assert infer_provider("qwen3.5:27b") == ""