mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-10 03:28:53 +00:00
test(router): exercise wildcard deployment selection
This commit is contained in:
parent
be58ae730e
commit
daf849c433
2 changed files with 14 additions and 24 deletions
|
|
@ -4491,9 +4491,6 @@ class Router:
|
|||
|
||||
data: Final = deployment["litellm_params"].copy()
|
||||
deployment_model_name: Final = data["model"]
|
||||
# Wildcard deployments provide provider credentials but must keep
|
||||
# the concrete model requested by the caller. Passing the wildcard
|
||||
# through prevents model-cost lookups and Responses API bridging.
|
||||
model_name = (
|
||||
model
|
||||
if "*" in deployment_model_name and "*" not in model
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
from unittest.mock import AsyncMock
|
||||
from unittest.mock import patch
|
||||
|
||||
import pytest
|
||||
|
||||
|
|
@ -9,28 +8,22 @@ from litellm import Router
|
|||
@pytest.mark.asyncio
|
||||
async def test_wildcard_deployment_preserves_requested_model() -> None:
|
||||
"""Provider wildcard credentials must not replace the concrete request model."""
|
||||
router = Router(model_list=[])
|
||||
deployment = {
|
||||
"model_name": "openai/*",
|
||||
"litellm_params": {"model": "openai/*", "api_key": "sk-test"},
|
||||
"model_info": {"id": "wildcard-deployment"},
|
||||
}
|
||||
router = Router(
|
||||
model_list=[
|
||||
{
|
||||
"model_name": "openai/*",
|
||||
"litellm_params": {"model": "openai/*", "api_key": "sk-test"},
|
||||
"model_info": {"id": "wildcard-deployment"},
|
||||
}
|
||||
]
|
||||
)
|
||||
original_function = AsyncMock(return_value="response")
|
||||
|
||||
with (
|
||||
patch.object(
|
||||
router,
|
||||
"async_get_available_deployment",
|
||||
new=AsyncMock(return_value=deployment),
|
||||
),
|
||||
patch.object(router, "async_routing_strategy_pre_call_checks", new=AsyncMock()),
|
||||
patch.object(router, "_get_client", return_value=None),
|
||||
):
|
||||
result = await router._ageneric_api_call_with_fallbacks_helper(
|
||||
model="openai/gpt-5.3-codex",
|
||||
original_generic_function=original_function,
|
||||
messages=[{"role": "user", "content": "ping"}],
|
||||
)
|
||||
result = await router._ageneric_api_call_with_fallbacks_helper(
|
||||
model="openai/gpt-5.3-codex",
|
||||
original_generic_function=original_function,
|
||||
messages=[{"role": "user", "content": "ping"}],
|
||||
)
|
||||
|
||||
assert result == "response"
|
||||
assert original_function.await_args.kwargs["model"] == "openai/gpt-5.3-codex"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue