test: Add test to ensure responses API is used regardless of circuit breaker state

This commit is contained in:
outlook84 2026-05-23 19:34:02 +08:00 committed by Xubin Ren
parent c433d60681
commit 92f2ff3a33
2 changed files with 12 additions and 1 deletions

View File

@ -740,7 +740,9 @@ class OpenAICompatProvider(LLMProvider):
if self._spec and self._spec.name not in ("openai", "github_copilot"):
return False
if self._api_type == "responses":
return self._responses_circuit_allows_probe(model, reasoning_effort)
# Explicit configuration means Responses is mandatory; do not
# consult the circuit breaker or fall back to Chat Completions.
return True
if self._spec is None or self._spec.name != "github_copilot":
if not _is_direct_openai_base(self._effective_base):
return False

View File

@ -39,6 +39,15 @@ def test_api_type_responses_forces_responses_for_openai(provider):
assert provider._should_use_responses_api("gpt-4o", None) is True
def test_api_type_responses_ignores_circuit_breaker(provider):
provider.default_model = "gpt-4o"
provider._api_type = "responses"
provider._responses_failures = {"gpt-4o|gpt-4o|": _RESPONSES_FAILURE_THRESHOLD}
provider._responses_tripped_at = {"gpt-4o|gpt-4o|": 0.0}
assert provider._should_use_responses_api("gpt-4o", None) is True
def test_api_type_responses_does_not_force_non_openai(provider):
provider._spec = type("Spec", (), {"name": "custom"})()
provider._api_type = "responses"