litellm/tests/test_litellm/proxy/config_resolvers
Yuneng Jiang 8e67a33fc3
fix(proxy): refuse config-owned writes at one choke point and refresh the store
Both write paths now go through the same refusal, so /config/field/update and
/config/update answer identically instead of each phrasing its own rule.

A successful write now applies to the SettingsStore, so the next read sees it.
Without this, /config/field/info reported a key the dashboard had just stored
as "not set" until the process reloaded from the database.

resolve() no longer takes a KeyRule it never reads; the store picks the row.
The matrix tests resolve through SettingsStore instead of calling resolve
directly, so the section and key in each case actually route a lookup.

ConfigFieldInfo and ConfigList type `source` as the FieldSource literal, and
the dashboard API types are regenerated for the two new fields.
2026-09-18 01:49:30 -07:00
..
test_config_resolvers.py feat(proxy): add SAML 2.0 SSO for the admin UI (#31429) 2026-07-24 12:51:28 -07:00
test_settings_rules.py fix(proxy): refuse config-owned writes at one choke point and refresh the store 2026-09-18 01:49:30 -07:00
test_settings_store.py fix(proxy): refuse config-owned writes at one choke point and refresh the store 2026-09-18 01:49:30 -07:00