mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-15 23:31:29 +00:00
tests/e2e/ui could only ever run against a locally provisioned stack, so it has never run in the e2e pod. Three things pinned it there. playwright.config.ts hardcoded baseURL http://localhost:4000 and globalSetup.ts hardcoded the same host for /update/ui_settings and /ui/login. Both now derive from LITELLM_PROXY_URL, falling back to localhost:4000 so local runs are unchanged. Storage state paths were repo-relative, so globalSetup wrote admin.storageState.json into cwd. That is read-only in the runner image under readOnlyRootFilesystem. They now sit under PLAYWRIGHT_STATE_DIR, defaulting to "." for local runs. The per-role constants the specs import directly were switched over too, so writer and readers stay in agreement. globalSetup logged in as five roles whose users only exist if fixtures/seed.sql was applied, and it throws when a login fails, so against an unseeded target the whole suite died before a single spec ran. It now creates those users through the proxy API first. ProxyAdmin is untouched since it logs in as "admin" with the master key and needs no user row. Verified against a live proxy that the seeding path works: /user/new returns 200, /user/update sets the password, and /v2/login then authenticates as that user. Worth knowing that /user/new accepts a password field but does not persist it ("User has no password set" on login), which is why the password is applied in a second call. All 25 spec files and 86 tests still collect, and the resolved values are correct (trailing slash stripped, storage state redirected). Teams, keys and the org from seed.sql are not self-seeded yet, so specs that reference those ids still need them present on the target. |
||
|---|---|---|
| .. | ||
| a2a | ||
| access_control | ||
| batches | ||
| claude_code | ||
| coverage_registry | ||
| guardrails | ||
| llm_translation | ||
| load | ||
| logging | ||
| management | ||
| mcp | ||
| other | ||
| quota_management | ||
| router | ||
| ui | ||
| CLAUDE.md | ||
| conftest.py | ||
| CONTRIBUTING.md | ||
| e2e_config.py | ||
| e2e_db.py | ||
| e2e_http.py | ||
| junit_properties.py | ||
| lifecycle.py | ||
| models.py | ||
| otel_client.py | ||
| proxy_client.py | ||
| pytest.ini | ||
| transport.py | ||