import pytest
from ri import (
RiCacheModule,
RiCacheConfig,
RiCacheBackendType,
RiCacheStats,
RiCachedValue,
)
class TestRiCacheModule:
def test_cache_module_creation(self):
config = RiCacheConfig.default_config()
config.backend_type = RiCacheBackendType.Memory
config.default_ttl_secs = 300
cache_module = RiCacheModule(config)
assert cache_module is not None
class TestRiCacheConfig:
def test_cache_config_creation(self):
config = RiCacheConfig.default_config()
config.backend_type = RiCacheBackendType.Memory
config.default_ttl_secs = 300
config.max_memory_mb = 512
config.enabled = True
assert str(config.backend_type) == "RiCacheBackendType.Memory"
assert config.default_ttl_secs == 300
assert config.max_memory_mb == 512
assert config.enabled is True
class TestRiCachedValue:
def test_cached_value_creation(self):
value = RiCachedValue("test data", 3600)
assert value.value == "test data"
assert value.expires_at is not None
def test_cached_value_no_ttl(self):
value = RiCachedValue("persistent data", None)
assert value.value == "persistent data"
assert value.expires_at is None
class TestRiCacheStats:
def test_cache_stats_creation(self):
stats = RiCacheStats()
stats.hits = 100
stats.misses = 20
stats.entries = 50
stats.memory_usage_bytes = 1024000
assert stats.hits == 100
assert stats.misses == 20
assert stats.entries == 50
assert stats.memory_usage_bytes == 1024000
class TestRiCacheBackendType:
def test_backend_types(self):
assert RiCacheBackendType.Memory is not None
assert RiCacheBackendType.Redis is not None
assert RiCacheBackendType.Hybrid is not None
if __name__ == "__main__":
pytest.main([__file__, "-v"])