Repository navigation
test(core): provider failover against the real OpenAI provider and turn loop (#209, 2/3) - #412
Merged
Merged
Conversation
🔍 Cora AI Code Review✅ No issues found. Code looks good! Review powered by cora-code · BYOK · MIT |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Part 2 of 3 of #209: integration tests for the failover chain merged in #404, using the real
OpenAiProviderand the real turn loop.Why
The failover decision is made on provider error text. The unit tests in #404 use scripted messages; this proves the classification against the text the real HTTP client actually produces, and that a turn completes on the reserve with the route stored durably.
Changes
crates/tole-core/tests/failover.rs(test only):run_turnwith an unreachable primary completes on the reserve; the usage row keeps the reserve's own usage and recordstole_route(provider and failover origin), and survives a reopen of the JSONL;ProviderFailedwithout touching the reserve.Testing
Refs #209