test: preserve metadata and passthrough assertions after cap removal
This commit is contained in:
@@ -1144,8 +1144,8 @@ class TestModelOverrides:
|
||||
def test_model_info_override_for_unknown_model(self):
|
||||
"""Canonical-schema override provides metadata for an unknown model.
|
||||
|
||||
Same key space as every other consumer — context_window,
|
||||
max_output_tokens, supports_* — NOT the internal catalog shape.
|
||||
Context and capabilities remain configurable; a legacy output override
|
||||
cannot displace the unknown-model metadata fallback.
|
||||
"""
|
||||
overrides = {
|
||||
"custom:my-vllm": {
|
||||
@@ -1161,10 +1161,13 @@ class TestModelOverrides:
|
||||
with self._setup_overrides(overrides), \
|
||||
patch("agent.models_dev.fetch_models_dev", return_value={}):
|
||||
info = get_model_info("custom:my-vllm", "my-llava-model")
|
||||
del overrides["custom:my-vllm"]["my-llava-model"]["max_output_tokens"]
|
||||
uncapped_info = get_model_info("custom:my-vllm", "my-llava-model")
|
||||
assert info is not None
|
||||
assert info.family == "llava"
|
||||
assert info.context_window == 8192
|
||||
assert info.max_output == 0
|
||||
assert uncapped_info is not None
|
||||
assert info.max_output == uncapped_info.max_output > 0
|
||||
assert info.tool_call is True
|
||||
assert info.reasoning is False
|
||||
|
||||
|
||||
@@ -1046,7 +1046,7 @@ class TestDelegationCredentialResolution(unittest.TestCase):
|
||||
@patch("hermes_cli.runtime_provider.resolve_runtime_provider")
|
||||
def test_base_url_with_provider_carries_runtime_request_overrides(self, mock_resolve):
|
||||
"""#65035: the base_url short-circuit must not drop the configured
|
||||
provider's request_overrides / max_output_tokens."""
|
||||
provider's generic request_overrides; dedicated output caps are ignored."""
|
||||
mock_resolve.return_value = {
|
||||
"provider": "custom",
|
||||
"base_url": "https://provider-default.example/v1",
|
||||
@@ -1071,7 +1071,7 @@ class TestDelegationCredentialResolution(unittest.TestCase):
|
||||
creds["request_overrides"],
|
||||
{"extra_body": {"thinking": {"type": "disabled"}}},
|
||||
)
|
||||
self.assertEqual(creds["max_output_tokens"], 8192)
|
||||
self.assertNotIn("max_output_tokens", creds)
|
||||
|
||||
def test_bare_base_url_returns_none_overrides(self):
|
||||
"""No provider alongside base_url → no overrides source; keys are
|
||||
@@ -1080,7 +1080,7 @@ class TestDelegationCredentialResolution(unittest.TestCase):
|
||||
cfg = {"model": "m", "provider": "", "base_url": "http://localhost:1234/v1", "api_key": "k"}
|
||||
creds = _resolve_delegation_credentials(cfg, parent)
|
||||
self.assertIsNone(creds["request_overrides"])
|
||||
self.assertIsNone(creds["max_output_tokens"])
|
||||
self.assertNotIn("max_output_tokens", creds)
|
||||
|
||||
@patch("hermes_cli.runtime_provider.resolve_runtime_provider")
|
||||
def test_base_url_survives_runtime_resolution_failure(self, mock_resolve):
|
||||
@@ -1093,7 +1093,7 @@ class TestDelegationCredentialResolution(unittest.TestCase):
|
||||
creds = _resolve_delegation_credentials(cfg, parent)
|
||||
self.assertEqual(creds["base_url"], "https://api.xiaomimimo.com/v1")
|
||||
self.assertIsNone(creds["request_overrides"])
|
||||
self.assertIsNone(creds["max_output_tokens"])
|
||||
self.assertNotIn("max_output_tokens", creds)
|
||||
|
||||
@patch("hermes_cli.runtime_provider.resolve_runtime_provider")
|
||||
def test_provider_resolution_failure_raises_valueerror(self, mock_resolve):
|
||||
|
||||
Reference in New Issue
Block a user