mirror of
https://github.com/Routstr/routstr-core.git
synced 2026-08-09 02:54:37 +00:00
ruff fmt
This commit is contained in:
@@ -58,7 +58,7 @@ def test_calculate_model_cost_score_basic() -> None:
|
||||
"""Test basic cost calculation."""
|
||||
model = create_test_model("test-model", prompt_price=0.001, completion_price=0.002)
|
||||
cost = calculate_model_cost_score(model)
|
||||
|
||||
|
||||
# Expected: (1000 tokens * 0.001) + (500 tokens * 0.002) = 0.001 + 0.001 = 0.002
|
||||
assert cost == 0.002
|
||||
|
||||
@@ -72,16 +72,18 @@ def test_calculate_model_cost_score_with_request_fee() -> None:
|
||||
request_price=0.0005,
|
||||
)
|
||||
cost = calculate_model_cost_score(model)
|
||||
|
||||
|
||||
# Expected: 0.001 + 0.001 + 0.0005 = 0.0025
|
||||
assert cost == 0.0025
|
||||
|
||||
|
||||
def test_calculate_model_cost_score_expensive_model() -> None:
|
||||
"""Test cost calculation for expensive model."""
|
||||
model = create_test_model("expensive-model", prompt_price=0.03, completion_price=0.06)
|
||||
model = create_test_model(
|
||||
"expensive-model", prompt_price=0.03, completion_price=0.06
|
||||
)
|
||||
cost = calculate_model_cost_score(model)
|
||||
|
||||
|
||||
# Expected: (1000 * 0.03) + (500 * 0.06) = 0.03 + 0.03 = 0.06
|
||||
assert cost == 0.06
|
||||
|
||||
@@ -103,16 +105,18 @@ def test_get_provider_penalty_openrouter() -> None:
|
||||
def test_should_prefer_model_cheaper_wins() -> None:
|
||||
"""Test that cheaper model is preferred."""
|
||||
cheap_model = create_test_model("cheap", prompt_price=0.001, completion_price=0.002)
|
||||
expensive_model = create_test_model("expensive", prompt_price=0.03, completion_price=0.06)
|
||||
|
||||
expensive_model = create_test_model(
|
||||
"expensive", prompt_price=0.03, completion_price=0.06
|
||||
)
|
||||
|
||||
provider1 = create_test_provider("provider1")
|
||||
provider2 = create_test_provider("provider2")
|
||||
|
||||
|
||||
# Cheaper model should win
|
||||
assert should_prefer_model(
|
||||
cheap_model, provider1, expensive_model, provider2, "test-alias"
|
||||
)
|
||||
|
||||
|
||||
# More expensive model should not win
|
||||
assert not should_prefer_model(
|
||||
expensive_model, provider2, cheap_model, provider1, "test-alias"
|
||||
@@ -122,12 +126,16 @@ def test_should_prefer_model_cheaper_wins() -> None:
|
||||
def test_should_prefer_model_exact_match_wins() -> None:
|
||||
"""Test that exact alias match beats cheaper price."""
|
||||
# Make model IDs match the alias differently
|
||||
exact_match = create_test_model("test-model", prompt_price=0.03, completion_price=0.06)
|
||||
no_match = create_test_model("other-model", prompt_price=0.001, completion_price=0.002)
|
||||
|
||||
exact_match = create_test_model(
|
||||
"test-model", prompt_price=0.03, completion_price=0.06
|
||||
)
|
||||
no_match = create_test_model(
|
||||
"other-model", prompt_price=0.001, completion_price=0.002
|
||||
)
|
||||
|
||||
provider1 = create_test_provider("provider1")
|
||||
provider2 = create_test_provider("provider2")
|
||||
|
||||
|
||||
# Exact match should win even though it's more expensive
|
||||
assert should_prefer_model(
|
||||
exact_match, provider1, no_match, provider2, "test-model"
|
||||
@@ -138,15 +146,17 @@ def test_should_prefer_model_openrouter_slight_penalty() -> None:
|
||||
"""Test that OpenRouter has slight penalty compared to other providers."""
|
||||
model1 = create_test_model("model1", prompt_price=0.001, completion_price=0.002)
|
||||
model2 = create_test_model("model2", prompt_price=0.001, completion_price=0.002)
|
||||
|
||||
|
||||
regular_provider = create_test_provider("regular", "http://provider.com")
|
||||
openrouter_provider = create_test_provider("openrouter", "https://openrouter.ai/api/v1")
|
||||
|
||||
openrouter_provider = create_test_provider(
|
||||
"openrouter", "https://openrouter.ai/api/v1"
|
||||
)
|
||||
|
||||
# Regular provider should be preferred over OpenRouter at same cost
|
||||
assert should_prefer_model(
|
||||
model1, regular_provider, model2, openrouter_provider, "test-alias"
|
||||
)
|
||||
|
||||
|
||||
# OpenRouter should not replace regular provider at same cost
|
||||
assert not should_prefer_model(
|
||||
model2, openrouter_provider, model1, regular_provider, "test-alias"
|
||||
@@ -155,15 +165,25 @@ def test_should_prefer_model_openrouter_slight_penalty() -> None:
|
||||
|
||||
def test_should_prefer_model_openrouter_can_win_if_cheaper() -> None:
|
||||
"""Test that OpenRouter can still win if significantly cheaper."""
|
||||
cheap_model = create_test_model("cheap", prompt_price=0.0001, completion_price=0.0002)
|
||||
expensive_model = create_test_model("expensive", prompt_price=0.03, completion_price=0.06)
|
||||
|
||||
cheap_model = create_test_model(
|
||||
"cheap", prompt_price=0.0001, completion_price=0.0002
|
||||
)
|
||||
expensive_model = create_test_model(
|
||||
"expensive", prompt_price=0.03, completion_price=0.06
|
||||
)
|
||||
|
||||
regular_provider = create_test_provider("regular", "http://provider.com")
|
||||
openrouter_provider = create_test_provider("openrouter", "https://openrouter.ai/api/v1")
|
||||
|
||||
openrouter_provider = create_test_provider(
|
||||
"openrouter", "https://openrouter.ai/api/v1"
|
||||
)
|
||||
|
||||
# OpenRouter should win if it's much cheaper (even with penalty)
|
||||
assert should_prefer_model(
|
||||
cheap_model, openrouter_provider, expensive_model, regular_provider, "test-alias"
|
||||
cheap_model,
|
||||
openrouter_provider,
|
||||
expensive_model,
|
||||
regular_provider,
|
||||
"test-alias",
|
||||
)
|
||||
|
||||
|
||||
@@ -171,12 +191,9 @@ def test_should_prefer_model_same_cost_first_wins() -> None:
|
||||
"""Test that when costs are identical, current model is kept."""
|
||||
model1 = create_test_model("model1", prompt_price=0.001, completion_price=0.002)
|
||||
model2 = create_test_model("model2", prompt_price=0.001, completion_price=0.002)
|
||||
|
||||
|
||||
provider1 = create_test_provider("provider1")
|
||||
provider2 = create_test_provider("provider2")
|
||||
|
||||
# When costs are equal, should not replace
|
||||
assert not should_prefer_model(
|
||||
model2, provider2, model1, provider1, "test-alias"
|
||||
)
|
||||
|
||||
# When costs are equal, should not replace
|
||||
assert not should_prefer_model(model2, provider2, model1, provider1, "test-alias")
|
||||
|
||||
Reference in New Issue
Block a user