Skip to content

Commit b6efb18

Browse files
abrookinsclaude
andcommitted
Fix CLI task worker tests Redis connection mocking
Task worker tests were failing because they mocked settings.redis_url but the task_worker CLI command calls get_redis_conn() directly which uses the actual Redis connection. Added proper mocks for get_redis_conn and ensure_search_index_exists to match the pattern used by other CLI tests. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent 5acf519 commit b6efb18

File tree

1 file changed

+24
-2
lines changed

1 file changed

+24
-2
lines changed

tests/test_cli.py

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,15 +220,27 @@ def test_schedule_task_argument_parsing(self):
220220
class TestTaskWorker:
221221
"""Tests for the task_worker command."""
222222

223+
@patch("agent_memory_server.cli.ensure_search_index_exists")
224+
@patch("agent_memory_server.cli.get_redis_conn")
223225
@patch("docket.Worker.run")
224226
@patch("agent_memory_server.cli.settings")
225-
def test_task_worker_success(self, mock_settings, mock_worker_run, redis_url):
227+
def test_task_worker_success(
228+
self,
229+
mock_settings,
230+
mock_worker_run,
231+
mock_get_redis_conn,
232+
mock_ensure_index,
233+
redis_url,
234+
):
226235
"""Test successful task worker start."""
227236
mock_settings.use_docket = True
228237
mock_settings.docket_name = "test-docket"
229238
mock_settings.redis_url = redis_url
230239

231240
mock_worker_run.return_value = None
241+
mock_redis = AsyncMock()
242+
mock_get_redis_conn.return_value = mock_redis
243+
mock_ensure_index.return_value = None
232244

233245
runner = CliRunner()
234246
result = runner.invoke(
@@ -249,17 +261,27 @@ def test_task_worker_docket_disabled(self, mock_settings):
249261
assert result.exit_code == 1
250262
assert "Docket is disabled in settings" in result.output
251263

264+
@patch("agent_memory_server.cli.ensure_search_index_exists")
265+
@patch("agent_memory_server.cli.get_redis_conn")
252266
@patch("docket.Worker.run")
253267
@patch("agent_memory_server.cli.settings")
254268
def test_task_worker_default_params(
255-
self, mock_settings, mock_worker_run, redis_url
269+
self,
270+
mock_settings,
271+
mock_worker_run,
272+
mock_get_redis_conn,
273+
mock_ensure_index,
274+
redis_url,
256275
):
257276
"""Test task worker with default parameters."""
258277
mock_settings.use_docket = True
259278
mock_settings.docket_name = "test-docket"
260279
mock_settings.redis_url = redis_url
261280

262281
mock_worker_run.return_value = None
282+
mock_redis = AsyncMock()
283+
mock_get_redis_conn.return_value = mock_redis
284+
mock_ensure_index.return_value = None
263285

264286
runner = CliRunner()
265287
result = runner.invoke(task_worker)

0 commit comments

Comments
 (0)