From 94e8aade7a04314e3b84dd38fba9e79f741fdf42 Mon Sep 17 00:00:00 2001 From: Krrish Dholakia Date: Sat, 30 Nov 2024 20:26:26 -0800 Subject: [PATCH] fix: fix update metadata logic --- .../proxy/management_endpoints/key_management_endpoints.py | 5 ++--- tests/proxy_unit_tests/test_proxy_utils.py | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/litellm/proxy/management_endpoints/key_management_endpoints.py b/litellm/proxy/management_endpoints/key_management_endpoints.py index 9dc206166..287de5696 100644 --- a/litellm/proxy/management_endpoints/key_management_endpoints.py +++ b/litellm/proxy/management_endpoints/key_management_endpoints.py @@ -459,9 +459,8 @@ def prepare_metadata_fields( """ Check LiteLLM_ManagementEndpoint_MetadataFields (proxy/_types.py) for fields that are allowed to be updated """ - _non_default_metadata = non_default_values.get("metadata", None) - # Handle None cases for metadata - if _non_default_metadata is None or not isinstance(_non_default_metadata, dict): + + if "metadata" not in non_default_values: # allow user to set metadata to none non_default_values["metadata"] = existing_metadata.copy() casted_metadata = cast(dict, non_default_values["metadata"]) diff --git a/tests/proxy_unit_tests/test_proxy_utils.py b/tests/proxy_unit_tests/test_proxy_utils.py index 1df6b82ed..a47aef16c 100644 --- a/tests/proxy_unit_tests/test_proxy_utils.py +++ b/tests/proxy_unit_tests/test_proxy_utils.py @@ -530,7 +530,7 @@ def test_prepare_key_update_data(): data = UpdateKeyRequest(key="test_key", metadata=None) updated_data = prepare_key_update_data(data, existing_key_row) - assert updated_data["metadata"] == None + assert updated_data["metadata"] is None @pytest.mark.parametrize(