fix(tests): also add api_key where missing (AIAgent needs BOTH for direct path)

My last fix added base_url but not api_key. AIAgent.__init__ takes the
direct-construction path only when BOTH are set — with only base_url
it still calls resolve_provider_client and fails in hermetic CI.

Same 31 call sites, now with both kwargs.
This commit is contained in:
Teknium 2026-04-17 07:41:49 -07:00
parent 5d179b9777
commit 6c56d60d82
No known key found for this signature in database
6 changed files with 32 additions and 0 deletions

View file

@ -29,6 +29,7 @@ class TestFlushDeduplication:
with patch.dict(os.environ, {"OPENROUTER_API_KEY": "test-key"}): with patch.dict(os.environ, {"OPENROUTER_API_KEY": "test-key"}):
from run_agent import AIAgent from run_agent import AIAgent
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,
@ -272,6 +273,7 @@ class TestFlushIdxInit:
with patch.dict(os.environ, {"OPENROUTER_API_KEY": "test-key"}): with patch.dict(os.environ, {"OPENROUTER_API_KEY": "test-key"}):
from run_agent import AIAgent from run_agent import AIAgent
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,
@ -285,6 +287,7 @@ class TestFlushIdxInit:
with patch.dict(os.environ, {"OPENROUTER_API_KEY": "test-key"}): with patch.dict(os.environ, {"OPENROUTER_API_KEY": "test-key"}):
from run_agent import AIAgent from run_agent import AIAgent
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,

View file

@ -37,6 +37,7 @@ class TestFlushAfterCompression:
with patch.dict(os.environ, {"OPENROUTER_API_KEY": "test-key"}): with patch.dict(os.environ, {"OPENROUTER_API_KEY": "test-key"}):
from run_agent import AIAgent from run_agent import AIAgent
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,

View file

@ -19,6 +19,7 @@ from run_agent import AIAgent
def test_create_openai_client_does_not_mutate_input_kwargs(mock_openai): def test_create_openai_client_does_not_mutate_input_kwargs(mock_openai):
mock_openai.return_value = MagicMock() mock_openai.return_value = MagicMock()
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,

View file

@ -23,6 +23,7 @@ from run_agent import AIAgent
def _make_agent(): def _make_agent():
return AIAgent( return AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,

View file

@ -61,6 +61,8 @@ def _make_agent(monkeypatch, provider, api_mode="chat_completions", base_url="ht
if model: if model:
kwargs["model"] = model kwargs["model"] = model
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
api_key="test-key",
base_url="https://openrouter.ai/api/v1",
return AIAgent(**kwargs) return AIAgent(**kwargs)

View file

@ -80,6 +80,7 @@ class TestStreamingAccumulator:
mock_create.return_value = mock_client mock_create.return_value = mock_client
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,
@ -121,6 +122,7 @@ class TestStreamingAccumulator:
mock_create.return_value = mock_client mock_create.return_value = mock_client
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,
@ -169,6 +171,7 @@ class TestStreamingAccumulator:
mock_create.return_value = mock_client mock_create.return_value = mock_client
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,
@ -208,6 +211,7 @@ class TestStreamingAccumulator:
mock_create.return_value = mock_client mock_create.return_value = mock_client
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,
@ -249,6 +253,7 @@ class TestStreamingCallbacks:
mock_create.return_value = mock_client mock_create.return_value = mock_client
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,
@ -282,6 +287,7 @@ class TestStreamingCallbacks:
mock_create.return_value = mock_client mock_create.return_value = mock_client
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,
@ -314,6 +320,7 @@ class TestStreamingCallbacks:
mock_create.return_value = mock_client mock_create.return_value = mock_client
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,
@ -353,6 +360,7 @@ class TestStreamingCallbacks:
mock_create.return_value = mock_client mock_create.return_value = mock_client
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,
@ -389,6 +397,7 @@ class TestStreamingCallbacks:
mock_create.return_value = mock_client mock_create.return_value = mock_client
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,
@ -437,6 +446,7 @@ class TestStreamingFallback:
mock_create.return_value = mock_client mock_create.return_value = mock_client
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,
@ -465,6 +475,7 @@ class TestStreamingFallback:
mock_create.return_value = mock_client mock_create.return_value = mock_client
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,
@ -488,6 +499,7 @@ class TestStreamingFallback:
mock_create.return_value = mock_client mock_create.return_value = mock_client
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,
@ -512,6 +524,7 @@ class TestStreamingFallback:
mock_create.return_value = mock_client mock_create.return_value = mock_client
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,
@ -555,6 +568,7 @@ class TestStreamingFallback:
mock_create.return_value = mock_client mock_create.return_value = mock_client
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,
@ -591,6 +605,7 @@ class TestStreamingFallback:
mock_create.return_value = mock_client mock_create.return_value = mock_client
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,
@ -634,6 +649,7 @@ class TestReasoningStreaming:
mock_create.return_value = mock_client mock_create.return_value = mock_client
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,
@ -662,6 +678,7 @@ class TestHasStreamConsumers:
def test_no_consumers(self): def test_no_consumers(self):
from run_agent import AIAgent from run_agent import AIAgent
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,
@ -673,6 +690,7 @@ class TestHasStreamConsumers:
def test_delta_callback_set(self): def test_delta_callback_set(self):
from run_agent import AIAgent from run_agent import AIAgent
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,
@ -685,6 +703,7 @@ class TestHasStreamConsumers:
def test_stream_callback_set(self): def test_stream_callback_set(self):
from run_agent import AIAgent from run_agent import AIAgent
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,
@ -707,6 +726,7 @@ class TestCodexStreamCallbacks:
deltas = [] deltas = []
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,
@ -749,6 +769,7 @@ class TestCodexStreamCallbacks:
from run_agent import AIAgent from run_agent import AIAgent
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,
@ -813,6 +834,7 @@ class TestCodexStreamCallbacks:
) )
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,
@ -832,6 +854,7 @@ class TestCodexStreamCallbacks:
from run_agent import AIAgent from run_agent import AIAgent
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,
@ -884,6 +907,7 @@ class TestAnthropicStreamCallbacks:
from run_agent import AIAgent from run_agent import AIAgent
agent = AIAgent( agent = AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1", base_url="https://openrouter.ai/api/v1",
model="test/model", model="test/model",
quiet_mode=True, quiet_mode=True,