litellm/tests/e2e/quota_management/budgets
ryan 287bbaa6c1 fix(proxy): remove duplicate user budget hook that 429'd zero-cost models
_PROXY_MaxBudgetLimiter re-checked spend:user:{id} against user_max_budget in
async_pre_call_hook without the zero-cost model exemption that
_user_max_budget_check applies in auth, so free models were rejected with
"Max budget limit reached." once a user was over budget. Auth already owns
this check, so the hook is deleted rather than taught the exemption again

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-16 15:42:15 -07:00
..
budget_client.py test(e2e): cover model access group budgets against a live proxy 2026-08-29 15:46:49 -07:00
BUDGET_CODE_MATRIX.md refactor(e2e): move budgets and spend_tracking suites under quota_management 2026-07-11 16:14:21 -07:00
BUDGET_TEST_COVERAGE_MATRIX.md fix(proxy): remove duplicate user budget hook that 429'd zero-cost models 2026-09-16 15:42:15 -07:00
conftest.py test(e2e): rename Gateway to ProxyClient and expose it as a session-scoped fixture (#33750) 2026-07-18 18:41:18 +00:00
test_budget_crud_e2e.py test(e2e): rename Gateway to ProxyClient and expose it as a session-scoped fixture (#33750) 2026-07-18 18:41:18 +00:00
test_budget_enforcement_e2e.py test(e2e): align budget e2e with the team-key budget hierarchy (#35276) 2026-07-30 21:09:50 +00:00
test_budget_fallback_e2e.py test(e2e): rename Gateway to ProxyClient and expose it as a session-scoped fixture (#33750) 2026-07-18 18:41:18 +00:00
test_budget_reset_advances_e2e.py test(e2e): poll key spend to a deadline in budget reset advances tests 2026-08-01 19:29:56 -07:00
test_budget_reset_e2e.py test(e2e): align budget e2e with the team-key budget hierarchy (#35276) 2026-07-30 21:09:50 +00:00
test_model_access_group_budget_e2e.py test(e2e): cover model access group budgets against a live proxy 2026-08-29 15:46:49 -07:00
test_model_max_budget_e2e.py test(e2e): add reproducers for passthrough and model budget gaps (#34657) 2026-08-11 18:15:34 -07:00
test_multi_window_budget_e2e.py test(e2e): assert the long budget window keeps blocking after the short window resets (#33832) 2026-07-18 18:00:15 -07:00
test_soft_budget_e2e.py refactor(e2e): move budgets and spend_tracking suites under quota_management 2026-07-11 16:14:21 -07:00
test_spend_counter_reseed_e2e.py test(e2e): harden the suite against response-cache cross-talk, slow providers and single upstream blips (#37957) 2026-08-22 14:47:03 -07:00
test_tag_budget_e2e.py refactor(e2e): move budgets and spend_tracking suites under quota_management 2026-07-11 16:14:21 -07:00
test_team_member_budget_e2e.py test(e2e): rename Gateway to ProxyClient and expose it as a session-scoped fixture (#33750) 2026-07-18 18:41:18 +00:00
test_team_member_budget_isolation_e2e.py test(e2e): rename Gateway to ProxyClient and expose it as a session-scoped fixture (#33750) 2026-07-18 18:41:18 +00:00
test_team_member_budget_reset_e2e.py refactor(e2e): move budgets and spend_tracking suites under quota_management 2026-07-11 16:14:21 -07:00
test_team_multi_window_budget_e2e.py test(e2e): assert the long budget window keeps blocking after the short window resets (#33832) 2026-07-18 18:00:15 -07:00
test_user_budget_across_keys_e2e.py test(e2e): user budget across keys and team member budget isolation (#33745) 2026-07-17 14:22:32 -07:00