Skip to content

Commit ec33ee7

Browse files
authored
Initialise i03 path provider, commissioning mode signal when beamline is instantiated (#1958)
* Ensure that commissioning mode and path provider are initialised
1 parent e243681 commit ec33ee7

2 files changed

Lines changed: 27 additions & 2 deletions

File tree

src/dodal/beamlines/i03.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
from dodal.common.beamlines.beamline_parameters import get_beamline_parameters
99
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
10+
from dodal.common.beamlines.beamline_utils import set_path_provider
11+
from dodal.common.beamlines.commissioning_mode import set_commissioning_signal
1012
from dodal.common.udc_directory_provider import PandASubpathProvider
1113
from dodal.device_manager import DeviceManager
1214
from dodal.devices.aperturescatterguard import (
@@ -85,7 +87,9 @@
8587
@devices.fixture
8688
@cache
8789
def path_provider() -> PathProvider:
88-
return PandASubpathProvider()
90+
provider = PandASubpathProvider()
91+
set_path_provider(provider)
92+
return provider
8993

9094

9195
@devices.fixture
@@ -333,7 +337,9 @@ def qbpm() -> QBPM:
333337

334338
@devices.factory()
335339
def baton() -> Baton:
336-
return Baton(f"{PREFIX.beamline_prefix}-CS-BATON-01:")
340+
_baton = Baton(f"{PREFIX.beamline_prefix}-CS-BATON-01:")
341+
set_commissioning_signal(_baton.commissioning)
342+
return _baton
337343

338344

339345
@devices.factory()

tests/beamlines/test_i03.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import pytest
2+
from ophyd_async.core import set_mock_value
3+
4+
from dodal.common.beamlines.beamline_utils import get_path_provider
5+
from dodal.common.beamlines.commissioning_mode import read_commissioning_mode
6+
7+
8+
@pytest.mark.timeout(2)
9+
@pytest.mark.parametrize("module_and_devices_for_beamline", ["i03"], indirect=True)
10+
def test_i03_initialises_path_provider(module_and_devices_for_beamline):
11+
assert get_path_provider()
12+
13+
14+
@pytest.mark.timeout(2)
15+
@pytest.mark.parametrize("module_and_devices_for_beamline", ["i03"], indirect=True)
16+
def test_i03_initialises_commissioning_mode_signal(module_and_devices_for_beamline):
17+
_, devices, __ = module_and_devices_for_beamline
18+
set_mock_value(devices["baton"].commissioning, True)
19+
assert read_commissioning_mode()

0 commit comments

Comments
 (0)