Skip to content

Commit 1356eba

Browse files
committed
More tests
1 parent a366480 commit 1356eba

3 files changed

Lines changed: 51 additions & 5 deletions

File tree

src/murfey/workflows/register_experiment_type_update.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def run(
2323
dataCollectionGroupId=message["dcgid"],
2424
experimentTypeId=message["experiment_type_id"],
2525
)
26-
dcgid = _transport_object.do_insert_data_collection_group(record).get(
26+
dcgid = _transport_object.do_update_data_collection_group(record).get(
2727
"return_value", None
2828
)
2929

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
from unittest.mock import MagicMock
2+
3+
import pytest
4+
from pytest_mock import MockerFixture
5+
6+
from murfey.workflows.register_experiment_type_update import run
7+
8+
register_experiment_type_update_matrix = (0, 1, None)
9+
10+
11+
@pytest.mark.parametrize("insert_dcg", register_experiment_type_update_matrix)
12+
def test_run(
13+
mocker: MockerFixture,
14+
insert_dcg: int | None,
15+
):
16+
# Mock the transport object functions
17+
mock_transport_object = mocker.patch(
18+
"murfey.workflows.register_experiment_type_update._transport_object"
19+
)
20+
mock_transport_object.do_update_data_collection_group.return_value = {
21+
"return_value": insert_dcg,
22+
}
23+
mock_ispyb = mocker.patch(
24+
"murfey.workflows.register_experiment_type_update.ISPyBDB"
25+
)
26+
mock_ispyb.DataCollectionGroup.return_value = "ispyb_dcg"
27+
28+
# Mock the Murfey database
29+
mock_murfey_db = MagicMock()
30+
31+
# Run the function and check the results and calls
32+
message = {
33+
"dcgid": 1,
34+
"experiment_type_id": 0,
35+
}
36+
result = run(message=message, murfey_db=mock_murfey_db)
37+
mock_ispyb.DataCollectionGroup.assert_called_once_with(
38+
dataCollectionGroupId=1, experimentTypeId=0
39+
)
40+
mock_transport_object.do_update_data_collection_group.assert_called_once_with(
41+
"ispyb_dcg"
42+
)
43+
if insert_dcg is not None:
44+
assert result == {"success": True}
45+
else:
46+
assert result == {"success": False, "requeue": True}

tests/workflows/tomo/test_tomo_metadata.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -135,12 +135,12 @@ def test_register_search_map_update_with_all_parameters(
135135
assert sm_final_parameters.y_location is not None
136136

137137
# Check this would have updated ispyb
138-
mock_transport.do_update_search_map.assert_called_with(1, new_parameters)
138+
mock_transport.do_update_search_map.assert_any_call(1, new_parameters)
139139
new_parameters.x_location = sm_final_parameters.x_location
140140
new_parameters.y_location = sm_final_parameters.y_location
141-
new_parameters.height_on_atlas = 40
142-
new_parameters.width_on_atlas = 20
143-
mock_transport.do_update_search_map.assert_called_with(1, new_parameters)
141+
new_parameters.height_on_atlas = int(40 * 7.8)
142+
new_parameters.width_on_atlas = int(20 * 7.8)
143+
mock_transport.do_update_search_map.assert_any_call(1, new_parameters)
144144

145145

146146
@mock.patch("murfey.workflows.tomo.tomo_metadata._transport_object")

0 commit comments

Comments
 (0)