diff --git a/tests/agent/test_models_dev.py b/tests/agent/test_models_dev.py index be39c5092e..94c3c62818 100644 --- a/tests/agent/test_models_dev.py +++ b/tests/agent/test_models_dev.py @@ -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 diff --git a/tests/tools/test_delegate.py b/tests/tools/test_delegate.py index 58cb77fdc8..58346a41a1 100644 --- a/tests/tools/test_delegate.py +++ b/tests/tools/test_delegate.py @@ -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):