Skip to content

Commit fb07598

Browse files
committed
Add preliminary test for '_analyse' for tomo workflow
1 parent a76e2d0 commit fb07598

1 file changed

Lines changed: 41 additions & 4 deletions

File tree

tests/client/test_analyser.py

Lines changed: 41 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ def test_analyse_atlas(
308308
if context == "AtlasContext"
309309
]
310310

311-
# Mock the 'post_transfer' class function
311+
# Set up mocks and spies
312312
mock_post_transfer = mocker.patch.object(Analyser, "post_transfer")
313313
spy_find_context = mocker.spy(Analyser, "_find_context")
314314

@@ -343,7 +343,7 @@ def test_analyse_spa(
343343
if context == context_to_test
344344
]
345345

346-
# Mock the 'post_transfer' class function
346+
# Set up mocks and spies
347347
mock_post_transfer = mocker.patch.object(Analyser, "post_transfer")
348348
spy_find_context = mocker.spy(Analyser, "_find_context")
349349
spy_find_extension = mocker.spy(Analyser, "_find_extension")
@@ -361,5 +361,42 @@ def test_analyse_spa(
361361
mock_post_transfer.assert_called()
362362

363363

364-
def test_analyse_tomo():
365-
pass
364+
@pytest.mark.parametrize(
365+
"context_to_test",
366+
("TomographyContext", "TomographyMetadataContext"),
367+
)
368+
def test_analyse_tomo(
369+
mocker: MockerFixture,
370+
context_to_test: str,
371+
tmp_path: Path,
372+
):
373+
test_files = [
374+
file
375+
for context, file_list in example_files.items()
376+
for file in file_list
377+
if context == context_to_test
378+
]
379+
380+
# Set up mocks and spies
381+
mock_post_transfer = mocker.patch.object(Analyser, "post_transfer")
382+
if context_to_test == "TomographyContext":
383+
mock_gather_metadata = mocker.patch(
384+
"murfey.client.contexts.tomo.TomographyContext.gather_metadata"
385+
)
386+
else:
387+
mock_gather_metadata = mocker.patch(
388+
"murfey.client.contexts.tomo_metadata.TomographyMetadataContext.gather_metadata"
389+
)
390+
mock_gather_metadata.return_value = {"dummy": "dummy"}
391+
392+
spy_find_context = mocker.spy(Analyser, "_find_context")
393+
spy_find_extension = mocker.spy(Analyser, "_find_extension")
394+
395+
# Initialise the Analyser
396+
analyser = Analyser(tmp_path, "", force_mdoc_metadata=True)
397+
for file in test_files:
398+
analyser._analyse(tmp_path / file)
399+
400+
assert spy_find_context.call_count == 1
401+
assert spy_find_extension.call_count > 0
402+
mock_post_transfer.assert_called()

0 commit comments

Comments
 (0)