mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-14 04:09:09 +00:00
test(cache): test litellm DualCache in-memory operations and cache misses
This commit is contained in:
parent
1998fedd4a
commit
fe722203c6
1 changed files with 10 additions and 27 deletions
|
|
@ -1,30 +1,13 @@
|
|||
\"\"\"
|
||||
Unit tests for user and team budget tracking arithmetic and threshold evaluation in LiteLLM proxy.
|
||||
\"\"\"
|
||||
import pytest
|
||||
from typing import Dict, Any
|
||||
from litellm.caching.caching import DualCache
|
||||
|
||||
def test_spend_threshold_exceeded():
|
||||
max_budget = 100.0
|
||||
current_spend = 95.50
|
||||
incoming_cost = 5.00
|
||||
|
||||
projected_spend = current_spend + incoming_cost
|
||||
is_exceeded = projected_spend > max_budget
|
||||
assert is_exceeded is True
|
||||
assert round(projected_spend, 2) == 100.50
|
||||
def test_dual_cache_in_memory_set_get():
|
||||
cache = DualCache(in_memory_cache=True)
|
||||
cache.set_cache(key="user_spend_123", value=45.50, ttl=300)
|
||||
cached_val = cache.get_cache(key="user_spend_123")
|
||||
assert cached_val == 45.50
|
||||
|
||||
def test_spend_threshold_within_limit():
|
||||
max_budget = 50.0
|
||||
current_spend = 20.0
|
||||
incoming_cost = 12.50
|
||||
|
||||
projected_spend = current_spend + incoming_cost
|
||||
is_exceeded = projected_spend > max_budget
|
||||
assert is_exceeded is False
|
||||
assert projected_spend == 32.50
|
||||
|
||||
def test_daily_budget_reset_calculation():
|
||||
budget_duration = "1d"
|
||||
seconds_in_day = 86400
|
||||
assert seconds_in_day == 24 * 60 * 60
|
||||
def test_dual_cache_miss():
|
||||
cache = DualCache(in_memory_cache=True)
|
||||
val = cache.get_cache(key="non_existent_key_xyz")
|
||||
assert val is None
|
||||
Loading…
Add table
Reference in a new issue