mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-11 22:51:28 +00:00
test(router): cover provider over-budget filtering path
This commit is contained in:
parent
8a87909a3f
commit
1ce6d571d7
1 changed files with 39 additions and 0 deletions
|
|
@ -182,6 +182,45 @@ async def test_async_filter_deployments_keeps_provider_without_max_budget(
|
|||
assert filtered_deployments == healthy_deployments
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_async_filter_deployments_filters_provider_over_max_budget(
|
||||
disable_budget_sync, monkeypatch
|
||||
):
|
||||
provider_budget = RouterBudgetLimiting(
|
||||
dual_cache=DualCache(),
|
||||
provider_budget_config={
|
||||
"openai": BudgetConfig(budget_duration="1d", max_budget=100.0),
|
||||
},
|
||||
)
|
||||
|
||||
await provider_budget.dual_cache.async_set_cache(
|
||||
key="provider_spend:openai:1d", value=150.0
|
||||
)
|
||||
|
||||
healthy_deployments = [
|
||||
{
|
||||
"model_name": "gpt-4o-mini",
|
||||
"litellm_params": {"model": "openai/gpt-4o-mini"},
|
||||
"model_info": {"id": "deployment-1"},
|
||||
},
|
||||
]
|
||||
|
||||
monkeypatch.setattr(
|
||||
provider_budget,
|
||||
"_get_llm_provider_for_deployment",
|
||||
lambda deployment: "openai",
|
||||
)
|
||||
|
||||
with pytest.raises(ValueError, match="Exceeded budget for provider openai"):
|
||||
await provider_budget.async_filter_deployments(
|
||||
model="gpt-4o-mini",
|
||||
healthy_deployments=healthy_deployments,
|
||||
messages=[],
|
||||
request_kwargs={},
|
||||
parent_otel_span=None,
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_async_filter_deployments_does_not_recompute_provider_when_resolved_none(
|
||||
disable_budget_sync, monkeypatch
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue