litellm/tests/e2e/quota_management/spend_tracking
devin-ai-integration[bot] 392e807172
feat(logging): add normalized_error cluster key to error_information (#41715)
* feat(logging): add normalized_error cluster key to error_information

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* fix(logging): stop classifying parameter length errors as context window errors

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* test(e2e): assert failure spend rows share normalized_error across provider wording

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* fix(logging): map agent model access denials and ignore non-string proxy error types

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* test(logging): cover budget exceeded errors with custom wording

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* fix(logging): cluster router no-healthy and provider-budget wording correctly

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* fix(logging): let the exception class win over router fallback wording

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* fix(logging): cluster peer closed connection errors as provider connection errors

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* fix(logging): cluster tag routing denials as 403_MODEL_ACCESS_DENIED

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

---------

Co-authored-by: shivam <shivam@berri.ai>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: yucheng <yucheng@berri.ai>
2026-09-22 15:56:50 -07:00
..
conftest.py test(e2e): every spend row a virtual key writes joins its token across all write paths 2026-09-09 14:34:12 -07:00
cost_rows.py test(e2e): pin prompt-cache, service-tier, and cost-header billing 2026-08-20 01:50:01 -07:00
spend_e2e_client.py test(e2e): one request lands the same spend on every surface (#42540) 2026-09-22 13:42:00 -07:00
spend_reconciliation.py test(spend): preserve multi-day coverage and immutable assertions 2026-09-14 22:26:20 -07:00
SPEND_TRACKING_COVERAGE_MATRIX.md docs(tests/e2e): align docs with the hard-fail-on-dead-proxy contract and scope the no-unit-tests rule (#33755) 2026-07-17 12:56:10 -07:00
test_cache_cost_accounting_e2e.py test(e2e): request reasoning explicitly on the reasoning-cost assertions 2026-08-20 04:11:08 -07:00
test_cost_headers_e2e.py fix(e2e): only the negative fallback assertion needs every replica to agree 2026-08-26 18:57:38 -07:00
test_key_attribution_e2e.py test(e2e): register the poller batch cost join as its own uncovered cell 2026-09-09 16:23:45 -07:00
test_provider_edge_spend_e2e.py ci(e2e): record the e2e suite weekly and replay it on weekdays with zero egress (#38163) 2026-08-24 23:49:03 -04:00
test_service_tier_pricing_e2e.py test(e2e): request reasoning explicitly on the reasoning-cost assertions 2026-08-20 04:11:08 -07:00
test_spend_routes.py fix(proxy): wait for the spend-log table before creating startup views 2026-09-19 08:36:22 -07:00
test_spend_surface_consistency_e2e.py test(e2e): one request lands the same spend on every surface (#42540) 2026-09-22 13:42:00 -07:00
test_spend_tracking_e2e.py feat(logging): add normalized_error cluster key to error_information (#41715) 2026-09-22 15:56:50 -07:00
test_team_daily_activity_e2e.py test(spend): preserve multi-day coverage and immutable assertions 2026-09-14 22:26:20 -07:00
test_websearch_interception_session_e2e.py fix(websearch_interception): keep intercepted searches under the parent request's session and trace (#41711) 2026-09-22 12:35:27 -07:00