litellm/tests/e2e
mubashir1osmani f07a7cbcde fix(e2e): read spend logs via paginated /spend/logs/v2 to stop OOM'ing the runner
The batches suite's test_rate_limited_batch_create_leaves_no_unattributed_spend_row
snapshots every unattributed spend row twice through spend_logs(SpendLogsParams()),
which used the deprecated, unpaginated /spend/logs. With no filter that endpoint
runs find_all over the whole LiteLLM_SpendLogs table, heavy message/response
columns included, so against a shared staging database the response OOM-killed the
e2e pod mid-test and the run restarted from preflight every time, always dying at
that same test

Repoint Gateway.spend_logs at /spend/logs/v2, which is paginated, drops the heavy
columns, and caps the row count. It walks every page over a bounded default window
and returns the same list[SpendLogRow], so the ~15 poll_logs_for_key / spend_logs
callers are untouched. v2 requires an explicit date window and matches the token
as stored (a SHA-256 hash) rather than the raw sk- key, so spend_logs fills a
bounded window when the caller gives none and hashes an sk- key the way the proxy
hashes it; the window and pagination fields are added to SpendLogsParams
2026-07-13 17:26:10 -04:00
..
access_control test(e2e): migrate access-control and inference-endpoint regression tests (#32016) 2026-07-05 01:39:10 +00:00
batches fix(e2e): batch credentials wiring and compose harness for live proxy suite (#32744) 2026-07-10 11:31:40 -07:00
coverage_registry test(e2e): add arize_phoenix logging suite with duplicate trace detection 2026-07-13 11:38:37 -07:00
llm_translation Merge pull request #32918 from BerriAI/litellm_e2e_basedpyright_gate 2026-07-11 12:01:50 -07:00
logging test(e2e): add arize_phoenix logging suite with duplicate trace detection 2026-07-13 11:38:37 -07:00
management ci: gate tests/e2e on zero basedpyright errors in pre-commit and lint CI 2026-07-11 10:25:22 -07:00
quota_management refactor(e2e): move budgets and spend_tracking suites under quota_management 2026-07-11 16:14:21 -07:00
bob_the_builder.py test: litellm fix failing tests (#32577) 2026-07-09 13:54:45 -07:00
CLAUDE.md refactor(e2e): move budgets and spend_tracking suites under quota_management 2026-07-11 16:14:21 -07:00
conftest.py refactor(e2e): move budgets and spend_tracking suites under quota_management 2026-07-11 16:14:21 -07:00
CONTRIBUTING.md ci: gate tests/e2e on zero basedpyright errors in pre-commit and lint CI 2026-07-11 10:25:22 -07:00
docker-compose.yml test(e2e): add arize_phoenix logging suite with duplicate trace detection 2026-07-13 11:38:37 -07:00
e2e_config.py fix(ui): scope key models dropdown options to the key's team (#32382) 2026-07-07 18:54:19 -07:00
e2e_gateway.py fix(e2e): read spend logs via paginated /spend/logs/v2 to stop OOM'ing the runner 2026-07-13 17:26:10 -04:00
e2e_http.py test(e2e): cover Langfuse logging.yaml P0 logs_spend cells (#32857) 2026-07-11 14:11:00 -04:00
lifecycle.py test(e2e): add live batches suite across providers and routing scenarios (#30958) 2026-07-02 08:05:23 -07:00
models.py fix(e2e): read spend logs via paginated /spend/logs/v2 to stop OOM'ing the runner 2026-07-13 17:26:10 -04:00
pytest.ini refactor(e2e): move budgets and spend_tracking suites under quota_management 2026-07-11 16:14:21 -07:00
test_e2e_gateway.py test(e2e): make dynamic model provisioning robust on split deployments (#32670) 2026-07-09 13:39:47 -07:00
test_lifecycle.py test: add e2e tests for spend, budgets and llms (#30869) 2026-06-24 15:01:57 -07:00
test_transport.py test(e2e): probe the full spend read surface including schema-hidden routes (#32267) 2026-07-06 14:02:05 -07:00
transport.py test(e2e): probe the full spend read surface including schema-hidden routes (#32267) 2026-07-06 14:02:05 -07:00