Spaces:
Running
Running
| import asyncio | |
| import pytest | |
| from protocols.mcp_protocol import MCPProtocol | |
| from protocols.base_protocol import Message | |
| async def test_mcp_send_receive(): | |
| mcp = MCPProtocol() | |
| msg = Message(sender="agent_a", recipient="agent_b", msg_type="task_complete", job_id="j1") | |
| await mcp.send(msg) | |
| received = await mcp.receive("agent_b", timeout=1.0) | |
| assert received is not None | |
| assert received.sender == "agent_a" | |
| assert received.msg_type == "task_complete" | |
| async def test_mcp_receive_timeout(): | |
| mcp = MCPProtocol() | |
| result = await mcp.receive("nobody", timeout=0.1) | |
| assert result is None | |
| async def test_mcp_broadcast(): | |
| mcp = MCPProtocol() | |
| msg = Message(sender="orchestrator", recipient="", msg_type="start", job_id="j2") | |
| await mcp.broadcast(msg, recipients=["agent_a", "agent_b"]) | |
| a = await mcp.receive("agent_a", timeout=1.0) | |
| b = await mcp.receive("agent_b", timeout=1.0) | |
| assert a is not None and b is not None | |