From b90348e3042067e1f3910472a685c9c29964bbcf Mon Sep 17 00:00:00 2001 From: Andy Li <55300002+cliandy@users.noreply.github.com> Date: Fri, 20 Jun 2025 13:35:35 -0700 Subject: [PATCH] fix: redis plugin testing (#2938) --- letta/data_sources/redis_client.py | 6 ++++++ tests/test_plugins.py | 14 +++++++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/letta/data_sources/redis_client.py b/letta/data_sources/redis_client.py index a372c826..f47b8935 100644 --- a/letta/data_sources/redis_client.py +++ b/letta/data_sources/redis_client.py @@ -283,6 +283,12 @@ class NoopAsyncRedisClient(AsyncRedisClient): async def scard(self, key: str) -> int: return 0 + async def smembers(self, key: str) -> Set[str]: + return set() + + async def srem(self, key: str, *members: Union[str, int, float]) -> int: + return 0 + async def get_redis_client() -> AsyncRedisClient: global _client_instance diff --git a/tests/test_plugins.py b/tests/test_plugins.py index 49fd6035..f4495edf 100644 --- a/tests/test_plugins.py +++ b/tests/test_plugins.py @@ -1,6 +1,6 @@ import pytest -from letta.data_sources.redis_client import get_redis_client +from letta.data_sources.redis_client import NoopAsyncRedisClient, get_redis_client from letta.helpers.decorators import experimental from letta.settings import settings @@ -86,7 +86,11 @@ async def test_redis_flag(event_loop): await redis_client.create_inclusion_exclusion_keys(group=group_name) await redis_client.sadd(include_key, test_user) - assert await _new_feature(user_id=test_user) == "new_feature" - with pytest.raises(Exception): - assert await _new_feature(user_id=test_user + "1") - print("members: ", await redis_client.smembers(include_key)) + if not isinstance(redis_client, NoopAsyncRedisClient): + assert await _new_feature(user_id=test_user) == "new_feature" + with pytest.raises(Exception): + await _new_feature(user_id=test_user + "1") + print("members: ", await redis_client.smembers(include_key)) + else: + with pytest.raises(Exception): + await _new_feature(user_id=test_user)