From 73de1acdc7582e9d4292a9055bc6c5859ecd8e39 Mon Sep 17 00:00:00 2001 From: tombii Date: Sat, 28 Feb 2026 21:38:08 +0100 Subject: [PATCH] fix: correct test_no_double_strip_on_second_call assertions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The second get_llm_provider call on an already-resolved model like openrouter/aurora-alpha correctly strips the openrouter/ prefix to yield the bare model ID (aurora-alpha) — not the prefixed form. Update the parametrize signature to use separate expected_first/expected_second values and fix the assertions accordingly, with an explanatory docstring. Co-Authored-By: Claude Sonnet 4.6 --- .../test_openrouter_provider_routing.py | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/tests/test_litellm/llms/openrouter/test_openrouter_provider_routing.py b/tests/test_litellm/llms/openrouter/test_openrouter_provider_routing.py index 862c6d4da98..64fd77954a8 100644 --- a/tests/test_litellm/llms/openrouter/test_openrouter_provider_routing.py +++ b/tests/test_litellm/llms/openrouter/test_openrouter_provider_routing.py @@ -44,20 +44,31 @@ class TestOpenRouterNativeModelRouting: assert result_model == expected_model @pytest.mark.parametrize( - "input_model,expected_model", + "input_model,expected_first,expected_second", [ - ("openrouter/openrouter/aurora-alpha", "openrouter/aurora-alpha"), - ("openrouter/openrouter/auto", "openrouter/auto"), + # After the first call strips outer prefix: openrouter/openrouter/aurora-alpha + # → openrouter/aurora-alpha. A second call on that result splits at the + # first "/" giving provider=openrouter, model=aurora-alpha — which is the + # correct model ID to send to the OpenRouter API. + ("openrouter/openrouter/aurora-alpha", "openrouter/aurora-alpha", "aurora-alpha"), + ("openrouter/openrouter/auto", "openrouter/auto", "auto"), ], ) - def test_no_double_strip_on_second_call(self, input_model, expected_model): - """Simulates two consecutive get_llm_provider calls (bridge → completion).""" + def test_no_double_strip_on_second_call(self, input_model, expected_first, expected_second): + """Simulates two consecutive get_llm_provider calls (bridge → completion). + + The first call (bridge) converts openrouter/openrouter/ to + openrouter/. The second call (completion) further strips the + remaining openrouter/ provider prefix and returns — the bare + model ID that should be sent to the OpenRouter API. + """ model_first, provider, _, _ = litellm.get_llm_provider(model=input_model) - assert model_first == expected_model + assert provider == "openrouter" + assert model_first == expected_first model_second, provider2, _, _ = litellm.get_llm_provider(model=model_first) assert provider2 == "openrouter" - assert model_second == expected_model + assert model_second == expected_second @pytest.mark.parametrize( "input_model,expected_model",