Spaces:
Sleeping
Sleeping
| """ | |
| 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.") |