Skip to main content
Glama
test_state_manager.py2.32 kB
"""Unit tests for state manager.""" import pytest from robotics_mcp.utils.state_manager import RobotStateManager, RobotState def test_register_robot(state_manager: RobotStateManager): """Test robot registration.""" robot = state_manager.register_robot("scout_01", "scout") assert robot.robot_id == "scout_01" assert robot.robot_type == "scout" assert not robot.is_virtual def test_register_virtual_robot(state_manager: RobotStateManager): """Test virtual robot registration.""" robot = state_manager.register_robot("vbot_scout_01", "scout", platform="unity") assert robot.robot_id == "vbot_scout_01" assert robot.is_virtual assert robot.platform == "unity" def test_get_robot(state_manager: RobotStateManager): """Test getting robot by ID.""" state_manager.register_robot("scout_01", "scout") robot = state_manager.get_robot("scout_01") assert robot is not None assert robot.robot_id == "scout_01" def test_list_robots(state_manager: RobotStateManager): """Test listing robots.""" state_manager.register_robot("scout_01", "scout") state_manager.register_robot("vbot_scout_01", "scout", platform="unity") all_robots = state_manager.list_robots() assert len(all_robots) == 2 virtual_robots = state_manager.list_robots(is_virtual=True) assert len(virtual_robots) == 1 assert virtual_robots[0].robot_id == "vbot_scout_01" def test_duplicate_robot_id(state_manager: RobotStateManager): """Test duplicate robot ID registration.""" state_manager.register_robot("scout_01", "scout") with pytest.raises(ValueError, match="already registered"): state_manager.register_robot("scout_01", "scout") def test_update_robot_status(state_manager: RobotStateManager): """Test updating robot connection status.""" state_manager.register_robot("scout_01", "scout") state_manager.update_robot_status("scout_01", connected=True) robot = state_manager.get_robot("scout_01") assert robot.connected is True def test_unregister_robot(state_manager: RobotStateManager): """Test unregistering robot.""" state_manager.register_robot("scout_01", "scout") state_manager.unregister_robot("scout_01") robot = state_manager.get_robot("scout_01") assert robot is None

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sandraschi/robotics-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server