scenarist / tests /test_redis_fallback.py
github-actions[bot]
Sync backend to Hugging Face Space (commit: 39b5c807918249fa80049d49f4b6a74d6a0ed1fc)
6d86412
Raw
History Blame Contribute Delete
1.15 kB
from __future__ import annotations
from backend.app.db import redis_client
from backend.app.services.session_store import create_session, list_sessions
def test_in_memory_redis_fallback_is_singleton(monkeypatch) -> None:
monkeypatch.setattr("redis.Redis.from_url", lambda *args, **kwargs: (_ for _ in ()).throw(RuntimeError("offline")))
monkeypatch.setattr(redis_client, "_fallback_mode", False)
monkeypatch.setattr(redis_client, "_redis_singleton", None)
first = redis_client.get_redis_client()
second = redis_client.get_redis_client()
assert first is second
def test_in_memory_redis_fallback_preserves_session_index(monkeypatch) -> None:
monkeypatch.setattr("redis.Redis.from_url", lambda *args, **kwargs: (_ for _ in ()).throw(RuntimeError("offline")))
monkeypatch.setattr(redis_client, "_fallback_mode", False)
monkeypatch.setattr(redis_client, "_redis_singleton", None)
create_session("fallback-visible", "HCP-05-010", cluster_id=5)
sessions = list_sessions(limit=10)
assert [session["session_id"] for session in sessions] == ["fallback-visible"]
assert sessions[0]["cluster_id"] == 5