tests: fixed tellupdater and workflows tests
This commit is contained in:
@@ -5,28 +5,29 @@ from aare.daq import tellupdater
|
||||
|
||||
def test_compare_and_report_change():
|
||||
class MockPuck:
|
||||
def __init__(self, id, pos):
|
||||
self.id = id
|
||||
def __init__(self, puck_name, dewar_id, pos):
|
||||
self.puck_name = puck_name
|
||||
self.dewar_id = dewar_id
|
||||
self.tell_position = pos
|
||||
|
||||
old = [MockPuck("1", "A1"), MockPuck("2", "A2")]
|
||||
new = [MockPuck("2", "A2"), MockPuck("3", "A3")]
|
||||
|
||||
joined, left = tellupdater.compare_and_report_change(old, new, lambda p: p.id)
|
||||
assert joined == {"3"}
|
||||
assert left == {"1"}
|
||||
|
||||
old = [MockPuck("p1", 1, "A1"), MockPuck("p2", 1, "A2")]
|
||||
new = [MockPuck("p2", 1, "A2"), MockPuck("p3", 1, "A3")]
|
||||
|
||||
joined, left = tellupdater.compare_and_report_change(old, new)
|
||||
assert joined == {("p3", 1, "A3")}
|
||||
assert left == {("p1", 1, "A1")}
|
||||
|
||||
def test_compare_and_report_change_ignore_x1():
|
||||
class MockPuck:
|
||||
def __init__(self, id, pos):
|
||||
self.id = id
|
||||
def __init__(self, puck_name, dewar_id, pos):
|
||||
self.puck_name = puck_name
|
||||
self.dewar_id = dewar_id
|
||||
self.tell_position = pos
|
||||
|
||||
old = [MockPuck("1", "X1")]
|
||||
new = [MockPuck("2", "X1")]
|
||||
|
||||
# X1 should be ignored, so both lists look empty
|
||||
joined, left = tellupdater.compare_and_report_change(old, new, lambda p: p.id)
|
||||
|
||||
old = [MockPuck("p1", 1, "X1")]
|
||||
new = [MockPuck("p2", 1, "X1")]
|
||||
|
||||
joined, left = tellupdater.compare_and_report_change(old, new)
|
||||
assert joined == set()
|
||||
assert left == set()
|
||||
|
||||
@@ -140,7 +141,7 @@ def test_on_message_logs_json_decode_error():
|
||||
tellupdater.on_message(None, "{invalid")
|
||||
|
||||
mock_exception.assert_called_once_with(
|
||||
"[WS] Failed to decode websocket message as JSON"
|
||||
"[WS] Failed to process message"
|
||||
)
|
||||
|
||||
@patch("aare.daq.tellupdater.tell_client")
|
||||
|
||||
@@ -19,6 +19,7 @@ def mock_devs():
|
||||
def mock_cfg():
|
||||
cfg = MagicMock()
|
||||
cfg.abr_meas_pos = "MEAS_POS"
|
||||
cfg.dtz = None
|
||||
return cfg
|
||||
|
||||
def test_move_bsz_no_move(mock_devs):
|
||||
@@ -70,19 +71,18 @@ def test_sa2se(mock_devs, mock_cfg):
|
||||
|
||||
def test_sa2rse(mock_devs, mock_cfg):
|
||||
sa2rse(mock_devs, mock_cfg)
|
||||
mock_devs.samcam_auto.assert_any_call(AutoEnum.AUTO)
|
||||
mock_devs.samcam_auto.assert_any_call(AutoEnum.ONCE)
|
||||
mock_devs.smargon_move_home.assert_called_once()
|
||||
|
||||
def test_sa2xtal_snapshot(mock_devs, mock_cfg):
|
||||
mock_devs.bec_worker = MagicMock()
|
||||
sa2xtal_snapshot(mock_devs, mock_cfg)
|
||||
assert mock_devs.samcam_settings.exposure == 0.001
|
||||
assert mock_devs.samcam_settings.exposure == 0.0005
|
||||
mock_devs.bec_worker.planner.move_to.assert_called_with(BeamlineState.XTAL_SNAPSHOT)
|
||||
|
||||
def test_dc2xtal_snapshot(mock_devs, mock_cfg):
|
||||
mock_devs.bec_worker = MagicMock()
|
||||
dc2xtal_snapshot(mock_devs, mock_cfg)
|
||||
assert mock_devs.samcam_settings.exposure == 0.001
|
||||
assert mock_devs.samcam_settings.exposure == 0.0005
|
||||
mock_devs.bec_worker.planner.move_to.assert_called_with(BeamlineState.XTAL_SNAPSHOT)
|
||||
|
||||
def test_xtal_snapshot2dc(mock_devs, mock_cfg):
|
||||
@@ -97,7 +97,7 @@ def test_xtal_snapshot2sa(mock_devs, mock_cfg):
|
||||
|
||||
def test_dc2rse(mock_devs, mock_cfg):
|
||||
dc2rse(mock_devs, mock_cfg)
|
||||
mock_devs.samcam_auto.assert_any_call(AutoEnum.AUTO)
|
||||
mock_devs.smargon_move_home.assert_called_once()
|
||||
|
||||
def test_se2sa(mock_devs, mock_cfg):
|
||||
mock_devs.bec_worker = MagicMock()
|
||||
@@ -112,6 +112,7 @@ def test_sa2dc(mock_devs, mock_cfg):
|
||||
|
||||
def test_dc2sa(mock_devs, mock_cfg):
|
||||
mock_devs.bec_worker = MagicMock()
|
||||
mock_cfg.dtz = None
|
||||
dc2sa(mock_devs, mock_cfg)
|
||||
mock_devs.bec_worker.planner.move_to.assert_called_with(BeamlineState.SAMPLE_ALIGNMENT)
|
||||
assert mock_devs.aerotech_pos == mock_cfg.abr_meas_pos
|
||||
|
||||
Reference in New Issue
Block a user