litellm/tests/e2e/ui
devin-ai-integration[bot] 0238ec9721
fix(scim): apply path-less group PATCH ops instead of storing them under an empty metadata key (#43978)
* fix(scim): apply path-less group PATCH ops instead of storing them under an empty metadata key

A path-less add/replace op (RFC 7644 3.5.2, what Okta Push Groups sends on a
rename) carries a partial Group resource. Each of its attributes now applies as
if sent with that path, so displayName updates the team alias and externalId
and members get their usual handling, and the pushed attributes merge into the
scim_data snapshot the PUT path already writes. A path-less remove or a
path-less op without an object value is rejected with a 400. Any group PATCH
drops an empty metadata key an earlier push left behind, and the Admin UI
metadata form skips an empty key so an affected team can save its settings.

* fix(scim): let a later path op win over an earlier path-less value in the group snapshot

* fix(scim): type the stored team metadata before the JSON object check

* test(scim): run the real group transformation in the path-less replace test

* test(scim): assert the renamed group comes back from the path-less replace

* test(scim): audit the path-less group PATCH on the live proxy

---------

Co-authored-by: mateo-berri <277851410+mateo-berri@users.noreply.github.com>
2026-10-02 14:20:04 -07:00
..
fixtures feat(tool-policies): show the user who owns the key that discovered a tool (#43892) 2026-10-01 20:34:57 +00:00
helpers fix(ui): surface x-litellm-call-id in Logs search, table and drawer (#42436) 2026-09-30 02:16:56 +00:00
oidc fix(auth): give UI/CLI session tokens their own AES-GCM context and header-safe shape (#43790) 2026-09-29 18:42:24 -07:00
tests fix(scim): apply path-less group PATCH ops instead of storing them under an empty metadata key (#43978) 2026-10-02 14:20:04 -07:00
constants.ts test(e2e): wait for serving propagation in UI journeys 2026-09-11 10:25:43 -07:00
globalSetup.ts test(e2e/ui): hide the LiteAdmin button in the shared admin session (#43033) 2026-09-24 14:48:35 -07:00
integration.config.ts test: add extension and browser integration contracts 2026-09-16 13:15:53 -07:00
migration.serverRootPath.config.ts fix(e2e/ui): resolve dashboard base URL from env instead of hardcoding localhost (#34739) 2026-07-27 10:19:32 -07:00
migration.serverRootPath.globalSetup.ts test(e2e): move Admin UI Playwright suite to tests/e2e/ui (#34196) 2026-07-22 19:43:10 +00:00
oidcSetup.ts test: bind management E2E callers and isolate JWT actors 2026-09-12 13:29:04 -07:00
package-lock.json test(e2e-ui): check the MCP Tools tab against the upstream's own tools/list (#42397) 2026-09-21 20:35:30 -07:00
package.json test(e2e-ui): check the MCP Tools tab against the upstream's own tools/list (#42397) 2026-09-21 20:35:30 -07:00
playwright.config.ts fix(auth): give UI/CLI session tokens their own AES-GCM context and header-safe shape (#43790) 2026-09-29 18:42:24 -07:00
playwright.oidc.config.ts test: bind management E2E callers and isolate JWT actors 2026-09-12 13:29:04 -07:00
run_e2e.sh refactor(proxy): rename the local development override to dangerously_permit_weak_or_unset_master_key so the name says exactly what it permits 2026-09-19 18:53:14 -07:00
tsconfig.json test(e2e): move Admin UI Playwright suite to tests/e2e/ui (#34196) 2026-07-22 19:43:10 +00:00