mirror of
https://github.com/ivan-usov-org/bec.git
synced 2025-04-22 02:20:02 +02:00
68 lines
1.7 KiB
Python
68 lines
1.7 KiB
Python
import os
|
|
|
|
import yaml
|
|
from bec_utils.connector import ConnectorBase
|
|
from scan_server.devicemanager import DeviceManagerScanServer
|
|
from scan_server.scan_assembler import ScanAssembler
|
|
from scan_server.scan_server import ScanServer
|
|
from scan_server.scan_worker import InstructionQueueStatus
|
|
|
|
dir_path = os.path.dirname(os.path.realpath(__file__))
|
|
|
|
|
|
def load_ScanServerMock():
|
|
connector = ConnectorMock("")
|
|
device_manager = DeviceManagerScanServer(connector, "")
|
|
with open(f"{dir_path}/test_session.yaml", "r") as f:
|
|
device_manager._session = yaml.safe_load(f)
|
|
device_manager._load_session()
|
|
return ScanServerMock(device_manager, connector)
|
|
|
|
|
|
class ConsumerMock:
|
|
def start(self):
|
|
pass
|
|
|
|
|
|
class ProducerMock:
|
|
message_sent = {}
|
|
|
|
def set(self, topic, msg):
|
|
pass
|
|
|
|
def send(self, queue, msg):
|
|
self.message_sent = {"queue": queue, "msg": msg}
|
|
|
|
|
|
class ConnectorMock(ConnectorBase):
|
|
def consumer(self, *args, **kwargs) -> ConsumerMock:
|
|
return ConsumerMock()
|
|
|
|
def producer(self, *args, **kwargs):
|
|
return ProducerMock()
|
|
|
|
|
|
class WorkerMock:
|
|
def __init__(self) -> None:
|
|
self.scan_id = None
|
|
self.scan_motors = []
|
|
self.current_scanID = None
|
|
self.current_scan_info = None
|
|
self.status = InstructionQueueStatus.IDLE
|
|
|
|
|
|
class ScanServerMock(ScanServer):
|
|
def __init__(self, dm, connector) -> None:
|
|
self.dm = dm
|
|
super().__init__(bootstrap_server="dummy", connector_cls=ConnectorMock, scibec_url="dummy")
|
|
self.scan_worker = WorkerMock()
|
|
|
|
def _start_devicemanager(self):
|
|
pass
|
|
|
|
def _start_scan_server(self):
|
|
pass
|
|
|
|
def shutdown(self):
|
|
pass
|