test(cache): test litellm DualCache in-memory operations and cache misses

This commit is contained in:
Kartik Chilkoti 2026-09-16 20:18:27 +05:30
parent 1998fedd4a
commit fe722203c6

View file

@ -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