mirror of
https://github.com/katanemo/plano.git
synced 2026-05-01 20:03:40 +02:00
Add 302 property-based unit tests (proptest, 100+ iterations each) and 13 integration test scenarios covering all retry behaviors. Unit tests cover: - Configuration round-trip parsing, defaults, and validation - Status code range expansion and error classification - Exponential backoff formula, bounds, and scope filtering - Provider selection strategy correctness and fallback ordering - Retry-After state scope behavior and max expiration updates - Cooldown exclusion invariants and initial selection cooldown - Bounded retry (max_attempts + budget enforcement) - Request preservation across retries - Latency trigger sliding window and block state management - Timeout vs high-latency precedence - Error response detail completeness Integration tests (tests/e2e/): - IT-1 through IT-13 covering 429/503 retry, exhaustion, backoff, fallback priority, Retry-After honoring, timeout retry, high-latency failover, streaming preservation, and body preservation |
||
|---|---|---|
| .. | ||
| retry_it1_basic_429.yaml | ||
| retry_it2_503_different_provider.yaml | ||
| retry_it3_all_exhausted.yaml | ||
| retry_it4_no_retry_policy.yaml | ||
| retry_it5_max_attempts.yaml | ||
| retry_it6_backoff_delay.yaml | ||
| retry_it7_fallback_priority.yaml | ||
| retry_it8_retry_after_honored.yaml | ||
| retry_it9_retry_after_blocks_selection.yaml | ||
| retry_it10_timeout_triggers_retry.yaml | ||
| retry_it11_high_latency_failover.yaml | ||
| retry_it12_streaming.yaml | ||
| retry_it13_body_preserved.yaml | ||