This commit is contained in:
@@ -578,3 +578,28 @@ def redis_client():
|
||||
|
||||
redis_service = RedisService()
|
||||
return redis_service._client
|
||||
|
||||
|
||||
# Mock для Redis если он недоступен
|
||||
@pytest.fixture(autouse=True)
|
||||
def mock_redis_if_unavailable():
|
||||
"""Автоматически мокает Redis если он недоступен"""
|
||||
try:
|
||||
import redis
|
||||
# Пробуем подключиться к Redis
|
||||
r = redis.Redis(host='localhost', port=6379, socket_connect_timeout=1)
|
||||
r.ping()
|
||||
# Redis доступен, не мокаем
|
||||
yield
|
||||
except Exception:
|
||||
# Redis недоступен, мокаем
|
||||
with patch('services.redis.RedisService') as mock_redis:
|
||||
# Создаем базовый mock для Redis методов
|
||||
mock_redis.return_value.get.return_value = None
|
||||
mock_redis.return_value.set.return_value = True
|
||||
mock_redis.return_value.delete.return_value = True
|
||||
mock_redis.return_value.exists.return_value = False
|
||||
mock_redis.return_value.ping.return_value = True
|
||||
mock_redis.return_value.is_connected = False
|
||||
|
||||
yield
|
||||
|
||||
Reference in New Issue
Block a user