Closed tcompa closed 1 year ago
This will be very nice. E.g. if we'd want to integrate with the Java-based OME-NGFF converter from Glencoe to allow parsing of OME-compatible files to OME-Zarr (they just recently released their converter. I haven't tested it yet, but it may be a nice way to get access to more OME-Zarr parsing for diverse microscopes, though certainly wouldn't handle ROIs yet and probably not save things as individual images per well): https://github.com/glencoesoftware/NGFF-Converter Also, it has a GPL 2.0 license, so we can't directly depend on it from our BSD3 license repo.
But in general, integration with such tools should become easier with the support for arbitrary executables.
How to proceed in practice:
--json
and --metadata-out
string arguments (this could be 1. python+argparse, 2. bash, 3. whatever, and the arguments are just ignored)test_full_workflow.py::test_full_workflow
for examples of how to call endpoints in tests), setting all attributes by hand in a TaskCreate
payload.test_full_workflow
), make assertions about outcome.NOTE: all of this should first be tested with the local backend only, not with slurm,docker,etc..
More in detail: do not use the collect_tasks
fixture, and replace
# Add a dummy task
res = await client.post(
f"{PREFIX}/workflow/{workflow_id}/add-task/",
json=dict(task_id=collect_packages[0].id),
)
with something like
# Create a new task
....
# Add a task
res = await client.post(
f"{PREFIX}/workflow/{workflow_id}/add-task/",
json=dict(task_id=new_task.id),
)
./script.sh -j /path/to/args.json -o /path/to/out.json
)command
.test_runner_backends.py