""" Simple test to verify MCP tools are working. """ from unittest.mock import MagicMock, patch from backend.mcp_server.tools.add_task import add_task # Test add_task print("Testing add_task tool:") mock_task = MagicMock() mock_task.id = 1 mock_task.title = "Test task from script" mock_task.description = "This is a test task created via script" mock_task.completed = False with patch('backend.mcp_server.tools.add_task.get_engine') as mock_get_engine, \ patch('backend.mcp_server.tools.add_task.Session') as mock_session_class: mock_get_engine.return_value = MagicMock() mock_session = MagicMock() mock_session_class.return_value.__enter__.return_value = mock_session mock_session_class.return_value.__exit__.return_value = False mock_session.add.return_value = None mock_session.commit.return_value = None mock_session.refresh.side_effect = lambda task: setattr(task, 'id', 1) result = add_task( user_id="test_user_123", title="Test task from script", description="This is a test task created via script" ) print(f"Add task result: {result}") if result["success"]: task_id = result["data"]["task_id"] print(f"SUCCESS: Task created with ID: {task_id}") # Test list_tasks print("\nTesting list_tasks tool:") from backend.mcp_server.tools.list_tasks import list_tasks with patch('backend.mcp_server.tools.list_tasks.get_engine'), \ patch('backend.mcp_server.tools.list_tasks.Session') as mock_session_class, \ patch('backend.mcp_server.tools.list_tasks.select'): mock_session = MagicMock() mock_session_class.return_value.__enter__.return_value = mock_session mock_session_class.return_value.__exit__.return_value = False mock_tasks = [MagicMock()] mock_tasks[0].id = task_id mock_tasks[0].title = "Test task from script" mock_tasks[0].completed = False mock_tasks[0].created_at = "2023-01-01T00:00:00" mock_result = MagicMock() mock_result.all.return_value = mock_tasks mock_session.exec.return_value = mock_result result = list_tasks(user_id="test_user_123", status="all") print(f"SUCCESS: List tasks found {result['data']['total']} task(s)") # Test complete_task print("\nTesting complete_task tool:") from backend.mcp_server.tools.complete_task import complete_task with patch('backend.mcp_server.tools.complete_task.get_engine'), \ patch('backend.mcp_server.tools.complete_task.Session') as mock_session_class, \ patch('backend.mcp_server.tools.complete_task.select'): mock_session = MagicMock() mock_session_class.return_value.__enter__.return_value = mock_session mock_session_class.return_value.__exit__.return_value = False mock_session.exec.return_value.first.return_value = mock_task result = complete_task(user_id="test_user_123", task_id=task_id) print(f"SUCCESS: Complete task result - {result['data']['status']}") # Test delete_task print("\nTesting delete_task tool:") from backend.mcp_server.tools.delete_task import delete_task with patch('backend.mcp_server.tools.delete_task.get_engine'), \ patch('backend.mcp_server.tools.delete_task.Session') as mock_session_class, \ patch('backend.mcp_server.tools.delete_task.select'): mock_session = MagicMock() mock_session_class.return_value.__enter__.return_value = mock_session mock_session_class.return_value.__exit__.return_value = False mock_session.exec.return_value.first.return_value = mock_task result = delete_task(user_id="test_user_123", task_id=task_id) print(f"SUCCESS: Delete task result - {result['data']['status']}") else: print("FAILED: Could not create task") print("\nAll MCP tools are working correctly!") print("They just need a real database connection to function in production.")