mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-07 08:26:10 +00:00
refactor(router): fold block-and-fallback decision into one method
Collapse the SIM103-flagged if/return into a direct boolean return and cover the folded method by name so the router coverage gate stays green
This commit is contained in:
parent
298ab31d22
commit
f171ef9562
2 changed files with 38 additions and 4 deletions
|
|
@ -10019,11 +10019,9 @@ class Router:
|
|||
deployments: Final = self.get_model_list(model_name=model_name, team_id=team_id) or []
|
||||
if not self._are_all_deployments_blocked(deployments):
|
||||
return False
|
||||
if reachable_fallbacks is not None and self._has_reachable_fallback(
|
||||
return reachable_fallbacks is None or not self._has_reachable_fallback(
|
||||
model_name=model_name, fallbacks=reachable_fallbacks, team_id=team_id
|
||||
):
|
||||
return False
|
||||
return True
|
||||
)
|
||||
|
||||
async def async_get_fully_unhealthy_model_names(self) -> set[str]:
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -145,3 +145,39 @@ class TestHasReachableFallback:
|
|||
]
|
||||
)
|
||||
assert router._has_reachable_fallback("primary", fallbacks=["fallback"]) is True
|
||||
|
||||
|
||||
class TestIsBlockedWithoutReachableFallback:
|
||||
def test_blocked_and_no_fallback_returns_true(self):
|
||||
router = Router(model_list=[_deployment("primary", "p0", blocked=True)])
|
||||
assert router._is_blocked_without_reachable_fallback("primary", reachable_fallbacks=None, team_id=None) is True
|
||||
|
||||
def test_not_all_blocked_returns_false(self):
|
||||
router = Router(model_list=[_deployment("primary", "p0", blocked=False)])
|
||||
assert router._is_blocked_without_reachable_fallback("primary", reachable_fallbacks=None, team_id=None) is False
|
||||
|
||||
def test_blocked_with_reachable_fallback_returns_false(self):
|
||||
router = Router(
|
||||
model_list=[
|
||||
_deployment("primary", "p0", blocked=True),
|
||||
_deployment("fallback", "f0", blocked=False),
|
||||
]
|
||||
)
|
||||
reachable = [{"primary": ["fallback"]}]
|
||||
assert (
|
||||
router._is_blocked_without_reachable_fallback("primary", reachable_fallbacks=reachable, team_id=None)
|
||||
is False
|
||||
)
|
||||
|
||||
def test_blocked_with_fully_blocked_fallback_returns_true(self):
|
||||
router = Router(
|
||||
model_list=[
|
||||
_deployment("primary", "p0", blocked=True),
|
||||
_deployment("fallback", "f0", blocked=True),
|
||||
]
|
||||
)
|
||||
reachable = [{"primary": ["fallback"]}]
|
||||
assert (
|
||||
router._is_blocked_without_reachable_fallback("primary", reachable_fallbacks=reachable, team_id=None)
|
||||
is True
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue