ophyd_devices/tests/test_controller.py

33 lines
1009 B
Python

from unittest import mock
from ophyd_devices.utils.controller import Controller
def test_controller_off():
controller = Controller(socket_cls=mock.MagicMock(), socket_host="dummy", socket_port=123)
controller.on()
with mock.patch.object(controller.sock, "close") as mock_close:
controller.off()
assert controller.sock is None
assert controller.connected is False
mock_close.assert_called_once()
# make sure it is indempotent
controller.off()
controller._reset_controller()
def test_controller_on():
socket_cls = mock.MagicMock()
Controller._controller_instances = {}
controller = Controller(socket_cls=socket_cls, socket_host="dummy", socket_port=123)
controller.on()
assert controller.sock is not None
assert controller.connected is True
socket_cls().open.assert_called_once()
# make sure it is indempotent
controller.on()
socket_cls().open.assert_called_once()
controller._reset_controller()