"""Session /model overrides must attach credential_pool for 402 rotation.""" from __future__ import annotations from unittest.mock import MagicMock from gateway.run import GatewayRunner, _credential_pool_for_provider def test_fast_session_override_includes_credential_pool(monkeypatch): runner = object.__new__(GatewayRunner) runner._session_model_overrides = { "sess-1": { "model": "kimi-k2.7", "provider": "custom:hyper", "api_key": "sk-test", "base_url": "https://hyper.charm.land/v1", "api_mode": "chat_completions", }, } fake_pool = object() monkeypatch.setattr( "gateway.run._resolve_gateway_model", lambda _uc=None: "default-model", ) monkeypatch.setattr( "gateway.run._credential_pool_for_provider", lambda provider: fake_pool if provider == "custom:hyper" else None, ) model, runtime = runner._resolve_session_agent_runtime(session_key="sess-1") assert model == "kimi-k2.7" assert runtime.get("credential_pool") is fake_pool