From ed3e209501b7f759f693592340f8a7429408a22e Mon Sep 17 00:00:00 2001 From: AxelRay <110029405+axelray-dev@users.noreply.github.com> Date: Wed, 23 Sep 2026 16:02:36 +0800 Subject: [PATCH] test(proxy): cover deleted key lookup fallback --- .../test_common_daily_activity.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/test_litellm/proxy/management_endpoints/test_common_daily_activity.py b/tests/test_litellm/proxy/management_endpoints/test_common_daily_activity.py index 7157d871afd..84f9cc202de 100644 --- a/tests/test_litellm/proxy/management_endpoints/test_common_daily_activity.py +++ b/tests/test_litellm/proxy/management_endpoints/test_common_daily_activity.py @@ -346,6 +346,18 @@ async def test_get_user_api_key_filter_scopes_to_active_and_deleted_user_keys(): assert await get_user_api_key_filter(mock_prisma, "target-user", "unrelated-key") == [] +@pytest.mark.asyncio +async def test_get_user_api_key_filter_handles_deleted_lookup_failure_and_owned_key(): + mock_prisma = MagicMock() + active_key = SimpleNamespace(token="active-key", user_id="target-user") + mock_prisma.db.litellm_verificationtoken.find_many = AsyncMock(return_value=[active_key]) + mock_prisma.db.litellm_deletedverificationtoken.find_many = AsyncMock( + side_effect=RuntimeError("deleted-key table unavailable") + ) + + assert await get_user_api_key_filter(mock_prisma, "target-user", "active-key") == ["active-key"] + + @pytest.mark.asyncio async def test_get_api_key_metadata_falls_back_to_deleted_keys(): """Test that get_api_key_metadata should fall back to deleted keys table for missing keys."""