Skip to content

Commit 223e8ce

Browse files
committed
Move StaticDeviceManager from tests to core
1 parent 7cf9d51 commit 223e8ce

2 files changed

Lines changed: 20 additions & 19 deletions

File tree

src/blueapi/core/protocols.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from dataclasses import dataclass, field
12
from typing import Any, Protocol, runtime_checkable
23

34

@@ -25,3 +26,19 @@ def build_and_connect(
2526
timeout: float | None = None,
2627
fixtures: dict[str, Any] | None = None,
2728
) -> DeviceConnectResult: ...
29+
30+
31+
@dataclass
32+
class StaticDeviceManager:
33+
devices: dict[str, Any] = field(default_factory=dict)
34+
build_errors: dict[str, Exception] = field(default_factory=dict)
35+
connection_errors: dict[str, Exception] = field(default_factory=dict)
36+
37+
def build_and_connect(
38+
self,
39+
*,
40+
mock: bool = False,
41+
timeout: float | None = None,
42+
fixtures: dict[str, Any] | None = None,
43+
) -> DeviceConnectResult:
44+
return self

tests/unit_tests/core/test_context.py

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
from __future__ import annotations
22

3-
from dataclasses import dataclass, field
3+
from dataclasses import dataclass
44
from pathlib import Path
55
from types import ModuleType, NoneType
6-
from typing import Any, Generic, TypeVar, Union
6+
from typing import Generic, TypeVar, Union
77
from unittest.mock import MagicMock, Mock, patch
88

99
import pytest
@@ -45,7 +45,7 @@
4545
)
4646
from blueapi.core import BlueskyContext, is_bluesky_compatible_device
4747
from blueapi.core.context import DefaultFactory, generic_bounds, qualified_name
48-
from blueapi.core.protocols import DeviceConnectResult, DeviceManager
48+
from blueapi.core.protocols import DeviceManager, StaticDeviceManager
4949
from blueapi.utils.invalid_config_error import InvalidConfigError
5050

5151
SIM_MOTOR_NAME = "sim"
@@ -669,22 +669,6 @@ def demo_plan(foo: int | None) -> MsgGenerator:
669669
assert "foo" in schema.get("required", [])
670670

671671

672-
@dataclass
673-
class StaticDeviceManager:
674-
devices: dict[str, Any] = field(default_factory=dict)
675-
build_errors: dict[str, Exception] = field(default_factory=dict)
676-
connection_errors: dict[str, Exception] = field(default_factory=dict)
677-
678-
def build_and_connect(
679-
self,
680-
*,
681-
mock: bool = False,
682-
timeout: float | None = None,
683-
fixtures: dict[str, Any] | None = None,
684-
) -> DeviceConnectResult:
685-
return self
686-
687-
688672
def test_empty_device_manager(empty_context: BlueskyContext):
689673
sdm = StaticDeviceManager()
690674
empty_context.with_device_manager(sdm)

0 commit comments

Comments
 (0)