Files
life-echo/api/tests/test_redis_sync_client.py
Sully 53e0065e3e refactor(api): TOML 配置 SSOT、统一错误契约、Auth/事务加固与可观测性 (#33)
配置 SSOT(TOML + .env)
统一错误契约
Auth 与事务边界
Redis / Celery 可靠性:业务 Redis(DB/0)与 Celery broker/backend(DB/1)显式拆分;连接池、sync client
可观测性(OpenTelemetry + LGTM)
2026-05-22 13:44:50 +08:00

28 lines
710 B
Python

import pytest
from app.core import redis_sync
def test_sync_redis_reuses_singleton(monkeypatch: pytest.MonkeyPatch) -> None:
created: list[object] = []
class FakeRedis:
def close(self) -> None:
pass
def fake_from_url(*args, **kwargs):
client = FakeRedis()
created.append(client)
return client
redis_sync.reset_sync_redis_clients_for_tests()
monkeypatch.setattr(redis_sync.redis, "from_url", fake_from_url)
first = redis_sync.get_sync_redis(decode_responses=True)
second = redis_sync.get_sync_redis(decode_responses=True)
assert first is second
assert len(created) == 1
redis_sync.reset_sync_redis_clients_for_tests()