Files
hermes-agent/tests/agent/test_astra_baseline_runtime.py
T
Eva 3825d25191 fix(openai): cap Astra Codex OAuth fallback
(cherry picked from commit bb4156c3881cbaf20736f0fcfd6c3cc5c861a6fb)
2026-09-07 21:43:54 +05:30

49 lines
1.8 KiB
Python

"""Focused real-path coverage for the GPT-6 Astra baseline contract."""
from types import SimpleNamespace
def test_explicit_astra_resolves_and_uses_official_responses(monkeypatch, tmp_path):
"""A fresh profile resolves metadata and routes the official endpoint without live I/O."""
monkeypatch.setenv("HERMES_HOME", str(tmp_path))
monkeypatch.setattr("agent.models_dev.fetch_models_dev", lambda *args, **kwargs: {})
monkeypatch.setattr("agent.process_bootstrap.OpenAI", lambda **_kwargs: SimpleNamespace())
monkeypatch.setattr("model_tools.get_tool_definitions", lambda *args, **kwargs: [])
from run_agent import AIAgent
agent = AIAgent(
model="gpt-6-astra",
provider="openai",
api_key="test-key",
base_url="https://api.openai.com/v1",
platform="cli",
max_iterations=2,
quiet_mode=True,
skip_memory=True,
)
assert agent.api_mode == "codex_responses"
assert agent.context_compressor.context_length == 1_050_000
kwargs = agent._get_transport().build_kwargs(
model=agent.model,
messages=[{"role": "user", "content": "Hi"}],
tools=[],
provider=agent.provider,
base_url=agent.base_url,
reasoning_config={"enabled": False, "effort": "none"},
)
assert kwargs["reasoning"]["effort"] == "low"
assert kwargs["prompt_cache_options"] == {"ttl": "30m"}
def test_astra_codex_oauth_fallback_uses_backend_context_limit():
"""OAuth keeps the Codex backend's 272K fallback; direct API metadata remains 1.05M."""
from agent.model_metadata import (
DEFAULT_CONTEXT_LENGTHS,
_resolve_codex_oauth_context_length_with_source,
)
assert DEFAULT_CONTEXT_LENGTHS["gpt-6-astra"] == 1_050_000
assert _resolve_codex_oauth_context_length_with_source("gpt-6-astra") == (272_000, "fallback")