hermes-agent/tests/hermes_cli/test_model_validation.py
2026-03-08 04:47:35 -07:00

43 lines
1.4 KiB
Python

"""Tests for provider-aware `/model` validation."""
import os
import sys
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", ".."))
from hermes_cli.models import validate_requested_model
class TestValidateRequestedModel:
def test_known_openrouter_model_can_be_saved(self):
result = validate_requested_model("anthropic/claude-opus-4.6", "openrouter")
assert result["accepted"] is True
assert result["persist"] is True
assert result["recognized"] is True
assert result["message"] is None
def test_openrouter_requires_provider_model_format(self):
result = validate_requested_model("claude-opus-4.6", "openrouter")
assert result["accepted"] is False
assert result["persist"] is False
assert "provider/model" in result["message"]
def test_unknown_codex_model_is_session_only(self):
result = validate_requested_model("totally-made-up", "openai-codex")
assert result["accepted"] is True
assert result["persist"] is False
assert "OpenAI Codex" in result["message"]
def test_custom_endpoint_allows_plain_model_ids(self):
result = validate_requested_model(
"gpt-4",
"openrouter",
base_url="http://localhost:11434/v1",
)
assert result["accepted"] is True
assert result["persist"] is True
assert result["message"] is None