/
YoungFreddy
/
FinalWork
Обзор
Документация
Войти
/
YoungFreddy
/
FinalWork
Код
Запросы
1
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
tests/test_cache.py
79 строк
2 KB
Igor
Initial commit: Q&A LLM service
23 июл 2026, 18:02
23 июл 2026, 18:02
e5e37db
Код
Авторство
О чём код?
import pytest import time from cache.base import SimpleCache def test_cache_get_set(): cache = SimpleCache(ttl=1) cache.set("key1", "value1") assert cache.get("key1") == "value1" def test_cache_expired(): cache = SimpleCache(ttl=1) cache.set("key1", "value1") time.sleep(2) assert cache.get("key1") is None def test_cache_clear(): cache = SimpleCache() cache.set("key1", "value1") cache.set("key2", "value2") cache.clear() assert cache.get("key1") is None assert cache.get("key2") is None def test_cache_cleanup_expired(): cache = SimpleCache(ttl=1) cache.set("key1", "value1") cache.set("key2", "value2") time.sleep(2) count = cache.cleanup_expired() assert count == 2 assert cache.get("key1") is None assert cache.get("key2") is None def test_cache_miss_on_nonexistent_key(): cache = SimpleCache() assert cache.get("nonexistent") is None def test_cache_empty_key(): cache = SimpleCache() cache.set("", "value") assert cache.get("") is None def test_cache_negative_ttl(): with pytest.raises(ValueError, match="TTL must be positive"): SimpleCache(ttl=-1) def test_cache_zero_ttl(): with pytest.raises(ValueError, match="TTL must be positive"): SimpleCache(ttl=0) def test_cache_set_none(): cache = SimpleCache() cache.set("key", None) assert cache.get("key") is None def test_cache_get_set_overwrite(): cache = SimpleCache() cache.set("key", "value1") cache.set("key", "value2") assert cache.get("key") == "value2" def test_cache_cleanup_on_set(): cache = SimpleCache(ttl=1) cache.set("key1", "value1") time.sleep(1.5) cache.set("key2", "value2") assert cache.get("key1") is None assert cache.get("key2") == "value2"