From 50f83bfa58332752a1fba403af6ff4a2bbc6c920 Mon Sep 17 00:00:00 2001 From: Eddasol Date: Fri, 19 Sep 2025 15:51:17 +0200 Subject: [PATCH] Add robotinterface tests --- tests/interfaces/test_robotinterface.py | 60 +++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/tests/interfaces/test_robotinterface.py b/tests/interfaces/test_robotinterface.py index 1291c62b..817d492a 100644 --- a/tests/interfaces/test_robotinterface.py +++ b/tests/interfaces/test_robotinterface.py @@ -1,12 +1,51 @@ +from alitra import Frame, Position + from robot_interface.test_robot_interface import interface_test +from robot_interface.models.mission.mission import Mission +from robot_interface.models.mission.task import TakeImage from isar_robot.robotinterface import Robot +from time import sleep + +dummy_position = Position(x=0, y=0, z=0, frame=Frame("asset")) +dummy_inspection_task = TakeImage(id="dummy_task", target=dummy_position) +dummy_mission = Mission(id="dummy", tasks=[dummy_inspection_task], name="Dummy Mission") + def test_robotinterface(): interface_test(Robot()) +def test_initiate_mission(): + robot = Robot() + robot.initiate_mission(mission=dummy_mission) + assert robot.mission_simulation is not None + + +def test_task_status(): + robot = Robot() + robot.initiate_mission(mission=dummy_mission) + status = robot.task_status(task_id="dummy_task") + assert status is not None + + +def test_stop(): + robot = Robot() + robot.initiate_mission(mission=dummy_mission) + sleep(2) # Give some time for the mission to start + robot.stop() + sleep(2) # Give some time for the mission to stop + assert robot.mission_simulation.mission_done is True + + +def test_get_inspection(): + robot = Robot() + robot.initiate_mission(mission=dummy_mission) + inspection = robot.get_inspection(task=dummy_inspection_task) + assert inspection is not None + + def test_get_telemetry_publishers(): robot = Robot() publishers = robot.get_telemetry_publishers( @@ -45,3 +84,24 @@ def test_pressure_telemetry(): isar_id="test_id", robot_name="test_robot" ) assert pressure_telemetry is not None + + +def test_robot_status(): + robot = Robot() + status = robot.robot_status() + assert status is not None + + +def test_pause() -> None: + robot = Robot() + robot.initiate_mission(mission=dummy_mission) + robot.pause() + assert robot.mission_simulation.mission_done is False + + +def test_resume() -> None: + robot = Robot() + robot.initiate_mission(mission=dummy_mission) + robot.pause() + robot.resume() + assert robot.mission_simulation.mission_done is False