Files
orisys_arm/station/test/test_node_inventory.py
T

19 lines
1.1 KiB
Python

from unittest import TestCase
from station.node_inventory import inventory, node_group
class NodeInventoryTest(TestCase):
def test_namespaces_duplicates_and_discovery_do_not_imply_ownership_or_health(self):
result = inventory({'node_paths':['/left/servo_node','/right/servo_node','/left/servo_node','/_ros2cli_1']},
{'motion:89':{'pid':123,'running':True,'owner':'station'}}, [],
{'89':{'pose_live':False,'enabled':None}}, {})
left = next(n for n in result['nodes'] if n['name']=='/left/servo_node')
self.assertEqual(left['instances'],2)
self.assertEqual(left['owner'],'unverified')
self.assertEqual(result['duplicates'],['/left/servo_node'])
self.assertEqual(result['devices'][0]['health'],'offline')
self.assertEqual(result['processes'][0]['owner'],'station')
self.assertEqual(node_group('/right/rizon_arm_controller'),'运动控制')
self.assertEqual(node_group('/perception_node'),'算法任务')
self.assertEqual(node_group('/realsense_color_pub'),'设备驱动')