test(router): stop test_default_model_fallbacks leaking litellm.default_fallbacks

The litellm_module_fallbacks=True cases assigned litellm.default_fallbacks
directly and never put it back. isolate_litellm_globals does not reset that
global, so any later test in the same process that builds a Router without
default_fallbacks inherits ["my-good-model"]. In collection order that fails
test_has_default_fallbacks[False-False] and test_get_first_default_fallback
in test_router_helper_utils.py.

Set it through monkeypatch so it is restored at teardown.
This commit is contained in:
Christopher Krah 2026-10-12 08:29:29 +02:00 • committed by chrikrah
parent 102619d47a
commit 60295135dd

View file

@ -77,14 +77,14 @@ async def test_async_fallbacks_streaming():
@pytest.mark.parametrize("sync_mode", [True, False])
@pytest.mark.parametrize("litellm_module_fallbacks", [True, False])
@pytest.mark.asyncio
async def test_default_model_fallbacks(sync_mode, litellm_module_fallbacks):
async def test_default_model_fallbacks(sync_mode, litellm_module_fallbacks, monkeypatch: pytest.MonkeyPatch):
"""
Related issue - https://github.com/BerriAI/litellm/issues/3623
If model misconfigured, setup a default model for generic fallback
"""
if litellm_module_fallbacks:
litellm.default_fallbacks = ["my-good-model"]
monkeypatch.setattr(litellm, "default_fallbacks", ["my-good-model"])
router = Router(
model_list=[
{