Skip to content

Commit 9152766

Browse files
committed
Reinstate removed tests
1 parent 0254371 commit 9152766

1 file changed

Lines changed: 27 additions & 0 deletions

File tree

tests/unit_tests/core/test_context.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
from ophyd_async.epics.motor import Motor
3232
from pydantic import TypeAdapter, ValidationError
3333
from pydantic.json_schema import SkipJsonSchema
34+
from pytest import LogCaptureFixture
3435

3536
from blueapi.config import (
3637
ApplicationConfig,
@@ -258,6 +259,32 @@ def test_override_device_name(empty_context: BlueskyContext, sim_motor: Motor):
258259
assert empty_context.devices["foo"] is sim_motor
259260

260261

262+
def test_add_devices_from_module(empty_context: BlueskyContext):
263+
import tests.unit_tests.core.fake_device_module as device_module
264+
265+
empty_context.with_device_manager(device_module.devices) # type: ignore - protocol uses Any to avoid dependency on dodal
266+
assert {
267+
"fake_motor_x",
268+
"fake_motor_y",
269+
"fake_motor_bundle_a",
270+
"fake_motor_bundle_b",
271+
"device_a",
272+
} == empty_context.devices.keys()
273+
274+
275+
def test_add_failing_devices_from_module(
276+
caplog: LogCaptureFixture, empty_context: BlueskyContext
277+
):
278+
import tests.unit_tests.core.fake_device_module_failing as device_module
279+
280+
caplog.set_level(10)
281+
empty_context.with_device_manager(device_module.devices) # type: ignore - protocol uses Any to avoid dependency on dodal
282+
logs = caplog.get_records("call")
283+
284+
assert any("TimeoutError('FooBar')" in log.message for log in logs)
285+
assert len(empty_context.devices.keys()) == 0
286+
287+
261288
@pytest.mark.parametrize(
262289
"addr", ["sim", "sim_det", "sim.user_setpoint", ["sim"], ["sim", "user_setpoint"]]
263290
)

0 commit comments

Comments
 (0)