mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-25 01:02:15 +00:00
test(integration): /cost/estimate reports configured prices for a deployment absent from the cost map (Pylon #7014)
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
parent
d78f616c01
commit
31601828c1
2 changed files with 28 additions and 0 deletions
|
|
@ -42,6 +42,9 @@
|
|||
"tests/integration/providers/test_request_boundary.py::test_internal_request_state_does_not_reach_provider": [
|
||||
"other.provider_wire.internal_parameters_filtered"
|
||||
],
|
||||
"tests/integration/pricing/test_configured_prices.py::test_cost_estimate_reports_configured_prices_for_model_absent_from_cost_map": [
|
||||
"quota_management.cost_estimate.configured_price.reported_for_model_absent_from_cost_map"
|
||||
],
|
||||
"tests/integration/pricing/test_configured_prices.py::test_default_prices_survive_nullable_sibling_and_reload": [
|
||||
"quota_management.spend_tracking.default_prices.survive_nullable_sibling_reload"
|
||||
],
|
||||
|
|
|
|||
|
|
@ -30,6 +30,31 @@ def test_custom_price_is_reported_and_charged(gateway: Gateway) -> None:
|
|||
assert params["output_cost_per_token"] == 0.002
|
||||
|
||||
|
||||
@pytest.mark.covers("quota_management.cost_estimate.configured_price.reported_for_model_absent_from_cost_map")
|
||||
def test_cost_estimate_reports_configured_prices_for_model_absent_from_cost_map(gateway: Gateway) -> None:
|
||||
with gateway.scenario() as scenario:
|
||||
model: Final = scenario.model(
|
||||
model=f"openai/integration-on-prem-{uuid.uuid4().hex}",
|
||||
input_cost_per_token=0.003,
|
||||
output_cost_per_token=0.007,
|
||||
)
|
||||
response: Final = gateway.request(
|
||||
"POST",
|
||||
"/cost/estimate",
|
||||
{"model": model, "input_tokens": 1000, "output_tokens": 500, "num_requests_per_day": 10},
|
||||
)
|
||||
assert response.status_code == 200, response.text
|
||||
body: Final = object_value(response.json())
|
||||
assert body["input_cost_per_token"] == pytest.approx(0.003), response.text
|
||||
assert body["output_cost_per_token"] == pytest.approx(0.007), response.text
|
||||
assert body["input_cost_per_request"] == pytest.approx(1000 * 0.003), response.text
|
||||
assert body["output_cost_per_request"] == pytest.approx(500 * 0.007), response.text
|
||||
margin: Final = body["margin_cost_per_request"]
|
||||
assert isinstance(margin, float), response.text
|
||||
assert body["cost_per_request"] == pytest.approx(1000 * 0.003 + 500 * 0.007 + margin), response.text
|
||||
assert body["daily_cost"] == pytest.approx(10 * (1000 * 0.003 + 500 * 0.007 + margin)), response.text
|
||||
|
||||
|
||||
@pytest.mark.covers("quota_management.spend_tracking.default_prices.survive_nullable_sibling_reload")
|
||||
def test_default_prices_survive_nullable_sibling_and_reload(gateway: Gateway) -> None:
|
||||
for registration_order in (("custom", "omitted", "nullable"), ("nullable", "omitted", "custom")):
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue