mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-20 00:11:50 +00:00
Fill the two live-coverage gaps in the budgets e2e suite. The internal-user enforcement test drove a single key, so it never proved a user budget is shared across that user's keys; the team-member enforcement test used one member, so it never proved isolation between members. Adds test_user_budget_across_keys_e2e.py: one user with a tiny max_budget owns two keys, neither with a budget of its own; spending the first to a budget_exceeded block makes the untouched second key reject the same way, and the recorded user spend crosses the cap. Adds test_team_member_budget_isolation_e2e.py: two members on one team, the tight member driven past its per-team cap while the roomy member keeps serving and the tight member stays blocked. Extends budget_client with a /user/info spend read, adds the two registry cells, and widens the quota grammar with the isolates_per_member and enforced_across_keys assertions. Resolves LIT-4548 |
||
|---|---|---|
| .. | ||
| access_control | ||
| batches | ||
| claude_code | ||
| coverage_registry | ||
| grafana | ||
| llm_translation | ||
| logging | ||
| management | ||
| quota_management | ||
| router | ||
| bob_the_builder.py | ||
| CLAUDE.md | ||
| conftest.py | ||
| CONTRIBUTING.md | ||
| docker-compose.yml | ||
| e2e_config.py | ||
| e2e_gateway.py | ||
| e2e_http.py | ||
| e2e_result_reporter.py | ||
| lifecycle.py | ||
| models.py | ||
| pytest.ini | ||
| transport.py | ||