From f2d40563d452109d39861bf7179e9ebf23b1b6ee Mon Sep 17 00:00:00 2001 From: 72004 Date: Fri, 21 Aug 2026 19:25:22 +0500 Subject: [PATCH] test(router): cover internal server retry policy --- .../test_router_per_deployment_num_retries.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/tests/test_litellm/test_router_per_deployment_num_retries.py b/tests/test_litellm/test_router_per_deployment_num_retries.py index 1bf5781c2d0..a51c308a6e1 100644 --- a/tests/test_litellm/test_router_per_deployment_num_retries.py +++ b/tests/test_litellm/test_router_per_deployment_num_retries.py @@ -3,15 +3,17 @@ Unit tests for per-deployment num_retries in litellm_params GitHub Issue: #18968 - Per-deployment max_retries/num_retries in litellm_params is not used in retry logic """ +from unittest.mock import patch + import httpx import pytest import pytest_asyncio -from unittest.mock import patch import litellm from litellm import Router -from litellm.types.router import RetryPolicy from litellm.integrations.custom_logger import CustomLogger +from litellm.router_utils.get_retry_from_policy import get_num_retries_from_retry_policy +from litellm.types.router import RetryPolicy class TestPerDeploymentNumRetries: @@ -426,6 +428,18 @@ class TestNoProviderRetryAmplification: ) assert await self._call_and_count(router) == 6 + def test_retry_policy_helper_handles_internal_server_error(self): + retry_count = get_num_retries_from_retry_policy( + exception=litellm.InternalServerError( + message="test error", + llm_provider="openai", + model="gpt-4", + ), + retry_policy=RetryPolicy(InternalServerErrorRetries=2), + ) + + assert retry_count == 2 + @pytest.mark.asyncio async def test_global_num_retries_not_amplified(self): """