From b8caf94cfff627608973374e6e625485774831a8 Mon Sep 17 00:00:00 2001 From: Dominic Oram Date: Thu, 15 Aug 2024 09:40:09 +0100 Subject: [PATCH] Removed some references to ophyd (#1533) --- tests/conftest.py | 25 +++---------------- .../experiment_plans/test_fgs_plan.py | 6 ++--- tests/unit_tests/experiment_plans/conftest.py | 10 +++++--- .../test_wait_for_robot_load_then_centre.py | 12 ++++----- 4 files changed, 18 insertions(+), 35 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 5cdc9b650..1011fed85 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -47,9 +47,7 @@ from dodal.devices.zebra import Zebra from dodal.log import LOGGER as dodal_logger from dodal.log import set_up_all_logging_handlers -from ophyd.epics_motor import EpicsMotor from ophyd.sim import NullStatus -from ophyd.status import Status from ophyd_async.core import Device, DeviceVector, callback_on_mock_put, set_mock_value from ophyd_async.core.async_status import AsyncStatus from ophyd_async.epics.motion.motor import Motor @@ -178,20 +176,6 @@ def stop_event_loop(): del RE -def mock_set(motor: EpicsMotor, val): - motor.user_setpoint.sim_put(val) # type: ignore - motor.user_readback.sim_put(val) # type: ignore - return Status(done=True, success=True) - - -def patch_motor(motor: EpicsMotor): - return patch.object(motor, "set", MagicMock(side_effect=partial(mock_set, motor))) - - -async def mock_good_coroutine(): - return asyncio.sleep(0) - - def pass_on_mock(motor, call_log: MagicMock | None = None): def _pass_on_mock(value, **kwargs): set_mock_value(motor.user_readback, value) @@ -263,15 +247,14 @@ def test_multi_rotation_params(): @pytest.fixture def done_status(): - s = Status() - s.set_finished() - return s + return NullStatus() @pytest.fixture def eiger(done_status): eiger = i03.eiger(fake_with_ophyd_sim=True) eiger.stage = MagicMock(return_value=done_status) + eiger.do_arm.set = MagicMock(return_value=done_status) eiger.unstage = MagicMock(return_value=done_status) return eiger @@ -306,7 +289,7 @@ def zebra(): def mock_side(*args, **kwargs): set_mock_value(zebra.pc.arm.armed, *args, **kwargs) - return Status(done=True, success=True) + return NullStatus() zebra.pc.arm.set = MagicMock(side_effect=mock_side) return zebra @@ -547,7 +530,7 @@ def fake_create_devices( detector_motion: DetectorMotion, aperture_scatterguard: ApertureScatterguard, ): - mock_omega_sets = MagicMock(return_value=Status(done=True, success=True)) + mock_omega_sets = MagicMock(return_value=NullStatus()) smargon.omega.velocity.set = mock_omega_sets smargon.omega.set = mock_omega_sets diff --git a/tests/system_tests/experiment_plans/test_fgs_plan.py b/tests/system_tests/experiment_plans/test_fgs_plan.py index 1954d8ff4..cafdc7f40 100644 --- a/tests/system_tests/experiment_plans/test_fgs_plan.py +++ b/tests/system_tests/experiment_plans/test_fgs_plan.py @@ -14,7 +14,7 @@ ) from dodal.devices.aperturescatterguard import AperturePositions from dodal.devices.smargon import Smargon -from ophyd.status import Status +from ophyd.sim import NullStatus from ophyd_async.core import set_mock_value from hyperion.device_setup_plans.read_hardware_for_setup import ( @@ -116,8 +116,8 @@ async def fxc_composite(): ) composite.eiger.cam.manual_trigger.put("Yes") composite.eiger.odin.check_odin_initialised = lambda: (True, "") - composite.eiger.stage = MagicMock(return_value=Status(done=True, success=True)) - composite.eiger.unstage = MagicMock(return_value=Status(done=True, success=True)) + composite.eiger.stage = MagicMock(return_value=NullStatus()) + composite.eiger.unstage = MagicMock(return_value=NullStatus()) set_mock_value(composite.xbpm_feedback.pos_ok, True) set_mock_value(composite.xbpm_feedback.pos_stable, True) diff --git a/tests/unit_tests/experiment_plans/conftest.py b/tests/unit_tests/experiment_plans/conftest.py index 94f8c1d84..e9a383bff 100644 --- a/tests/unit_tests/experiment_plans/conftest.py +++ b/tests/unit_tests/experiment_plans/conftest.py @@ -9,7 +9,7 @@ from dodal.devices.synchrotron import SynchrotronMode from dodal.devices.zocalo import ZocaloResults, ZocaloTrigger from event_model import Event -from ophyd.sim import make_fake_device +from ophyd_async.core import DeviceCollector from ophyd_async.core.async_status import AsyncStatus from hyperion.external_interaction.callbacks.common.callback_util import ( @@ -181,13 +181,15 @@ def fake_read(obj, initial_positions, _): @pytest.fixture def simple_beamline(detector_motion, oav, smargon, synchrotron, test_config_files, dcm): magic_mock = MagicMock(autospec=True) + + with DeviceCollector(mock=True): + magic_mock.zocalo = ZocaloResults() + magic_mock.zebra_fast_grid_scan = ZebraFastGridScan("preifx", "fake_fgs") + magic_mock.oav = oav magic_mock.smargon = smargon magic_mock.detector_motion = detector_motion - magic_mock.zocalo = make_fake_device(ZocaloResults)() magic_mock.dcm = dcm - scan = make_fake_device(ZebraFastGridScan)("prefix", name="fake_fgs") - magic_mock.zebra_fast_grid_scan = scan magic_mock.synchrotron = synchrotron oav.zoom_controller.frst.set("7.5x") oav.parameters = OAVConfigParams( diff --git a/tests/unit_tests/experiment_plans/test_wait_for_robot_load_then_centre.py b/tests/unit_tests/experiment_plans/test_wait_for_robot_load_then_centre.py index b18b05f4c..5648c9940 100644 --- a/tests/unit_tests/experiment_plans/test_wait_for_robot_load_then_centre.py +++ b/tests/unit_tests/experiment_plans/test_wait_for_robot_load_then_centre.py @@ -7,11 +7,10 @@ from bluesky.simulators import RunEngineSimulator, assert_message_and_return_remaining from bluesky.utils import Msg from dodal.devices.aperturescatterguard import AperturePositions -from dodal.devices.eiger import EigerDetector from dodal.devices.oav.oav_detector import OAV -from dodal.devices.smargon import Smargon, StubPosition +from dodal.devices.smargon import StubPosition from dodal.devices.webcam import Webcam -from ophyd.sim import NullStatus, instantiate_fake_device +from ophyd.sim import NullStatus from ophyd_async.core import set_mock_value from hyperion.experiment_plans.robot_load_then_centre_plan import ( @@ -30,7 +29,7 @@ @pytest.fixture def robot_load_composite( - smargon, dcm, robot, aperture_scatterguard, oav, webcam, thawer, lower_gonio + smargon, dcm, robot, aperture_scatterguard, oav, webcam, thawer, lower_gonio, eiger ) -> RobotLoadThenCentreComposite: composite: RobotLoadThenCentreComposite = MagicMock() composite.smargon = smargon @@ -44,6 +43,7 @@ def robot_load_composite( composite.webcam = webcam composite.lower_gonio = lower_gonio composite.thawer = thawer + composite.eiger = eiger return composite @@ -131,6 +131,7 @@ def test_robot_load_then_centre_doesnt_set_energy_if_not_specified_and_current_e robot_load_then_centre_params_no_energy: RobotLoadThenCentre, sim_run_engine: RunEngineSimulator, ): + robot_load_composite.eiger.set_detector_parameters = MagicMock() sim_run_engine.add_handler( "read", lambda msg: {"dcm-energy_in_kev": {"value": 11.105}}, @@ -153,9 +154,6 @@ def run_simulating_smargon_wait( total_disabled_reads, sim_run_engine: RunEngineSimulator, ): - robot_load_composite.smargon = instantiate_fake_device(Smargon, name="smargon") - robot_load_composite.eiger = instantiate_fake_device(EigerDetector, name="eiger") - num_of_reads = 0 def return_not_disabled_after_reads(_):