litellm/tests/e2e
mateo-berri 2863559ba8 fix(proxy): wait for the spend-log table before creating startup views
On a fresh database where the migrations run in a separate job while the
proxy boots with DISABLE_SCHEMA_UPDATE=true, the startup view check ran
as a fire-and-forget task, used up its three 10 second retries before
LiteLLM_SpendLogs existed, and died with an unretrieved exception. The
spend views were never created, so the /global/spend routes returned 500
until the pod was restarted

PrismaClient now holds a view setup task. It polls to_regclass for the
spend-log table every 5 seconds, creates the views and loads the spend
log row count once the table is there, keeps polling if an attempt raises
while the schema is still settling, and logs an ERROR with the last
failure if nothing worked after 15 minutes. Proxy shutdown cancels the
task

The spend route e2e tests for the five view-backed routes are no longer
skipped and wait for the views through the harness convergence helper
2026-09-19 08:36:22 -07:00
..
a2a test(e2e): settle control-plane writes across every replica, not just one 2026-08-07 19:36:30 -07:00
access_control Merge remote-tracking branch 'github/main' into litellm_rust_bridge_declarative_route_catalog 2026-09-17 11:08:08 -07:00
batches chore: consolidate CLAUDE.md into AGENTS.md 2026-09-19 02:30:35 +00:00
claude_code chore: consolidate CLAUDE.md into AGENTS.md 2026-09-19 02:30:35 +00:00
coverage_registry chore: consolidate CLAUDE.md into AGENTS.md 2026-09-19 02:30:35 +00:00
gateway fix(proxy): persist only the keys a caller changed in save_config 2026-09-17 20:32:04 -07:00
guardrails test: stop guardrail retries at the polling deadline 2026-09-08 17:02:00 -07:00
llm_translation chore: consolidate CLAUDE.md into AGENTS.md 2026-09-19 02:30:35 +00:00
load chore: merge litellm_internal_staging into litellm_e2e_reliability_module_cells 2026-09-12 13:05:02 -07:00
logging fix(mcp): honor an explicit null on toolset update, cover MCP lifecycle e2e (#40022) 2026-09-08 22:50:13 -07:00
management test(e2e): assert config ownership instead of absence from the stored row 2026-09-18 02:53:37 -07:00
mcp test(mcp): await registration on every configured replica 2026-09-17 10:13:45 -07:00
other test(e2e): harden JWT fixtures and cover management lifecycles 2026-09-11 16:36:12 -07:00
quota_management fix(proxy): wait for the spend-log table before creating startup views 2026-09-19 08:36:22 -07:00
router test(e2e): skip the override strategy cells and describe the 1s cooldown cache 2026-09-12 17:56:23 -07:00
ui test(e2e/ui): wait for the filtered budget list before clicking a row action 2026-09-17 21:39:22 -07:00
AGENTS.md chore: consolidate CLAUDE.md into AGENTS.md 2026-09-19 02:30:35 +00:00
conftest.py fix(e2e): own a shared fixture's deployment by the fixture's node, not the first test 2026-09-16 17:35:05 -07:00
CONTRIBUTING.md chore: consolidate CLAUDE.md into AGENTS.md 2026-09-19 02:30:35 +00:00
e2e_config.py Merge remote-tracking branch 'github/main' into litellm_rust_bridge_declarative_route_catalog 2026-09-17 11:08:08 -07:00
e2e_db.py test(e2e): guard destructive spend-log truncate behind an explicit opt-in (#33751) 2026-07-20 08:47:39 -07:00
e2e_http.py feat(e2e): cache exact provider responses for 24 hours 2026-09-15 18:14:18 -07:00
fixture_bundle.py test: add strict stateless provider replay identity 2026-09-14 16:55:43 -07:00
fixture_canonical.py feat(e2e): key the provider cache per test and mount Bedrock behind it 2026-09-16 02:15:46 -07:00
fixture_mode.py fix(e2e): own a shared fixture's deployment by the fixture's node, not the first test 2026-09-16 17:35:05 -07:00
fixture_profile.py test: preserve strict replay numeric spelling 2026-09-14 17:11:56 -07:00
idp.py test: enforce isolated actors and stop OIDC process groups 2026-09-12 13:49:49 -07:00
idp_realm.json test(e2e): harden JWT fixtures and cover management lifecycles 2026-09-11 16:36:12 -07:00
junit_properties.py test: bind management E2E callers and isolate JWT actors 2026-09-12 13:29:04 -07:00
lifecycle.py fix(e2e): clean up batch files reliably and expire Azure inputs 2026-09-07 12:15:06 -07:00
models.py test(e2e): read a deleted key back as deleted, not as a 404 2026-09-17 02:38:27 +00:00
otel_client.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
PROVIDER_CACHE.md fix(e2e): own a shared fixture's deployment by the fixture's node, not the first test 2026-09-16 17:35:05 -07:00
provider_cache.py fix(e2e): bind provider-cache recordings to the deployment's test, not the serving process 2026-09-16 17:08:17 -07:00
provider_cache_redis.py chore(e2e): report the key components behind a mount that never converges 2026-09-16 15:01:08 -07:00
provider_cache_routing.py revert(e2e): unmount Gemini, its api_base means two things 2026-09-16 08:37:25 -07:00
provider_edge.py fix(e2e): own a shared fixture's deployment by the fixture's node, not the first test 2026-09-16 17:35:05 -07:00
provider_edge_bedrock.py feat(e2e): cache the responses and embeddings endpoints behind the edge 2026-09-16 02:34:09 -07:00
proxy_client.py fix(e2e): bind provider-cache recordings to the deployment's test, not the serving process 2026-09-16 17:08:17 -07:00
pytest.ini fix(e2e): bind provider-cache recordings to the deployment's test, not the serving process 2026-09-16 17:08:17 -07:00
test_e2e_http.py test: bind management E2E callers and isolate JWT actors 2026-09-12 13:29:04 -07:00
test_fixture_bundle.py feat(e2e): record and replay streamed provider responses chunk-for-chunk 2026-08-24 12:51:44 -07:00
test_fixture_canonical.py test(e2e): pin query params and multipart form fields as replay match-key identity 2026-08-20 15:59:34 -04:00
test_fixture_mode.py feat(e2e): move record/replay to the provider edge (LIT-5745) 2026-08-19 18:39:15 -07:00
test_idp.py test: enforce isolated actors and stop OIDC process groups 2026-09-12 13:49:49 -07:00
test_junit_properties.py test(e2e): read JUnit properties off the real collected pytest Item 2026-09-01 19:12:07 -07:00
test_provider_edge.py fix(e2e): bind provider-cache recordings to the deployment's test, not the serving process 2026-09-16 17:08:17 -07:00
test_proxy_client.py fix(e2e): own a shared fixture's deployment by the fixture's node, not the first test 2026-09-16 17:35:05 -07:00
transport.py Merge pull request #39857 from BerriAI/litellm_e2e_reliability_module_cells 2026-09-15 11:38:51 -07:00