File tree Expand file tree Collapse file tree 2 files changed +34
-4
lines changed Expand file tree Collapse file tree 2 files changed +34
-4
lines changed Original file line number Diff line number Diff line change @@ -83,26 +83,27 @@ async def llen(name: str) -> int:
8383 except RedisError as e :
8484 return f"Error retrieving length of list '{ name } ': { str (e )} "
8585
86+
8687@mcp .tool ()
8788async def lrem (name : str , count : int , element : FieldT ) -> str :
8889 """Remove elements from a Redis list.
89-
90+
9091 Args:
9192 name: The name of the list
9293 count: Number of elements to remove (0 = all, positive = from head, negative = from tail)
9394 element: The element value to remove
94-
95+
9596 Returns:
9697 A string indicating the number of elements removed.
9798 """
9899 try :
99100 r = RedisConnectionManager .get_connection ()
100101 removed_count = r .lrem (name , count , element )
101-
102+
102103 if removed_count == 0 :
103104 return f"Element '{ element } ' not found in list '{ name } ' or list does not exist."
104105 else :
105106 return f"Removed { removed_count } occurrence(s) of '{ element } ' from list '{ name } '."
106-
107+
107108 except RedisError as e :
108109 return f"Error removing element from list '{ name } ': { str (e )} "
Original file line number Diff line number Diff line change 22Pytest configuration and fixtures for Redis MCP Server tests.
33"""
44
5+ # --- Mock "mcp" before any test imports ---
6+ import sys
7+ import types
8+
9+
10+ # Define a fake callable FastMCP class
11+ class _FakeFastMCP :
12+ def __init__ (self , * args , ** kwargs ):
13+ pass
14+
15+ def tool (self , * args , ** kwargs ):
16+ def decorator (func ):
17+ return func
18+
19+ return decorator
20+
21+
22+ # Build the mcp mock hierarchy
23+ mcp_mock = types .SimpleNamespace (tool = lambda * a , ** kw : (lambda f : f ))
24+ mcp_server_mock = types .SimpleNamespace (
25+ fastmcp = types .SimpleNamespace (FastMCP = _FakeFastMCP )
26+ )
27+
28+ sys .modules ["mcp" ] = mcp_mock
29+ sys .modules ["mcp.server" ] = mcp_server_mock
30+ sys .modules ["mcp.server.fastmcp" ] = mcp_server_mock .fastmcp
31+ # ------------------------------------------
32+
33+
534from unittest .mock import Mock , patch
635
736import pytest
You can’t perform that action at this time.
0 commit comments