mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Add `use_cached_job parameter to RequiredTool.execute()`
This commit is contained in:
@@ -47,38 +47,38 @@ def test_multidata_param(
|
||||
}
|
||||
)
|
||||
)
|
||||
execution = required_tool.execute.with_inputs(inputs)
|
||||
execution = required_tool.execute().with_inputs(inputs)
|
||||
execution.assert_has_job(0).with_output("out1").with_contents("1\t2\t3\n4\t5\t6\n")
|
||||
execution.assert_has_job(0).with_output("out2").with_contents("4\t5\t6\n1\t2\t3\n")
|
||||
|
||||
|
||||
@requires_tool_id("expression_forty_two")
|
||||
def test_galaxy_expression_tool_simplest(required_tool: RequiredTool):
|
||||
required_tool.execute.assert_has_single_job.with_single_output.with_contents("42")
|
||||
required_tool.execute().assert_has_single_job.with_single_output.with_contents("42")
|
||||
|
||||
|
||||
@requires_tool_id("expression_parse_int")
|
||||
def test_galaxy_expression_tool_simple(required_tool: RequiredTool):
|
||||
execution = required_tool.execute.with_inputs({"input1": "7"})
|
||||
execution = required_tool.execute().with_inputs({"input1": "7"})
|
||||
execution.assert_has_single_job.with_single_output.with_contents("7")
|
||||
|
||||
|
||||
@requires_tool_id("expression_log_line_count")
|
||||
def test_galaxy_expression_metadata(target_history: TargetHistory, required_tool: RequiredTool):
|
||||
hda1 = target_history.with_dataset("1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14").src_dict
|
||||
execution = required_tool.execute.with_inputs({"input1": hda1})
|
||||
execution = required_tool.execute().with_inputs({"input1": hda1})
|
||||
execution.assert_has_single_job.with_single_output.with_contents("3")
|
||||
|
||||
|
||||
@requires_tool_id("multi_select")
|
||||
def test_multi_select_as_list(required_tool: RequiredTool):
|
||||
execution = required_tool.execute.with_inputs({"select_ex": ["--ex1", "ex2"]})
|
||||
execution = required_tool.execute().with_inputs({"select_ex": ["--ex1", "ex2"]})
|
||||
execution.assert_has_single_job.with_output("output").with_contents("--ex1,ex2")
|
||||
|
||||
|
||||
@requires_tool_id("multi_select")
|
||||
def test_multi_select_optional(required_tool: RequiredTool):
|
||||
execution = required_tool.execute.with_inputs(
|
||||
execution = required_tool.execute().with_inputs(
|
||||
{
|
||||
"select_ex": ["--ex1"],
|
||||
"select_optional": None,
|
||||
@@ -92,14 +92,14 @@ def test_multi_select_optional(required_tool: RequiredTool):
|
||||
@requires_tool_id("identifier_single")
|
||||
def test_identifier_outside_map(target_history: TargetHistory, required_tool: RequiredTool):
|
||||
hda = target_history.with_dataset("123", named="Plain HDA")
|
||||
execute = required_tool.execute.with_inputs({"input1": hda.src_dict})
|
||||
execute = required_tool.execute().with_inputs({"input1": hda.src_dict})
|
||||
execute.assert_has_single_job.assert_has_single_output.with_contents_stripped("Plain HDA")
|
||||
|
||||
|
||||
@requires_tool_id("identifier_multiple")
|
||||
def test_identifier_in_multiple_reduce(target_history: TargetHistory, required_tool: RequiredTool):
|
||||
hdca = target_history.with_pair()
|
||||
execute = required_tool.execute.with_inputs({"input1": hdca.src_dict})
|
||||
execute = required_tool.execute().with_inputs({"input1": hdca.src_dict})
|
||||
execute.assert_has_single_job.assert_has_single_output.with_contents_stripped("forward\nreverse")
|
||||
|
||||
|
||||
@@ -120,7 +120,7 @@ def test_identifier_map_over_multiple_input_in_conditional(
|
||||
},
|
||||
}
|
||||
)
|
||||
execute = required_tool.execute.with_inputs(inputs)
|
||||
execute = required_tool.execute().with_inputs(inputs)
|
||||
execute.assert_has_single_job.assert_has_single_output.with_contents_stripped("forward\nreverse")
|
||||
|
||||
|
||||
@@ -138,7 +138,7 @@ def test_identifier_multiple_reduce_in_repeat(
|
||||
"the_repeat_0|the_data|input1": hdca.src_dict,
|
||||
}
|
||||
)
|
||||
execute = required_tool.execute.with_inputs(inputs)
|
||||
execute = required_tool.execute().with_inputs(inputs)
|
||||
execute.assert_has_single_job.assert_has_single_output.with_contents_stripped("forward\nreverse")
|
||||
|
||||
|
||||
@@ -172,7 +172,7 @@ def test_map_over_with_output_format_actions(
|
||||
}
|
||||
)
|
||||
)
|
||||
execute = required_tool.execute.with_inputs(inputs)
|
||||
execute = required_tool.execute().with_inputs(inputs)
|
||||
execute.assert_has_n_jobs(2).assert_creates_n_implicit_collections(1)
|
||||
expected_extension = "txt" if (use_action == "do") else "data"
|
||||
execute.assert_has_job(0).with_single_output.with_file_ext(expected_extension)
|
||||
@@ -182,7 +182,7 @@ def test_map_over_with_output_format_actions(
|
||||
@requires_tool_id("output_action_change_format_paired")
|
||||
def test_map_over_with_nested_paired_output_format_actions(target_history: TargetHistory, required_tool: RequiredTool):
|
||||
hdca = target_history.with_example_list_of_pairs()
|
||||
execute = required_tool.execute.with_inputs(
|
||||
execute = required_tool.execute().with_inputs(
|
||||
{"input": {"batch": True, "values": [dict(map_over_type="paired", **hdca.src_dict)]}}
|
||||
)
|
||||
execute.assert_has_n_jobs(2).assert_creates_n_implicit_collections(1)
|
||||
@@ -194,7 +194,7 @@ def test_map_over_with_nested_paired_output_format_actions(target_history: Targe
|
||||
def test_identifier_with_data_collection(target_history: TargetHistory, required_tool: RequiredTool):
|
||||
contents = [("foo", "text for foo element"), ("bar", "more text for bar element")]
|
||||
hdca = target_history.with_list(contents)
|
||||
execute = required_tool.execute.with_inputs({"input1": hdca.src_dict})
|
||||
execute = required_tool.execute().with_inputs({"input1": hdca.src_dict})
|
||||
execute.assert_has_single_job.assert_has_single_output.with_contents_stripped("foo\nbar")
|
||||
|
||||
|
||||
@@ -203,7 +203,7 @@ def test_identifier_in_actions(target_history: TargetHistory, required_tool: Req
|
||||
contents = [("foo", "text for foo element"), ("bar", "more text for bar element")]
|
||||
hdca = target_history.with_list(contents)
|
||||
|
||||
execute = required_tool.execute.with_inputs({"input": {"batch": True, "values": [hdca.src_dict]}})
|
||||
execute = required_tool.execute().with_inputs({"input": {"batch": True, "values": [hdca.src_dict]}})
|
||||
|
||||
output = execute.assert_has_job(0).assert_has_single_output
|
||||
assert output.details["metadata_column_names"][1] == "foo", output.details
|
||||
@@ -215,7 +215,7 @@ def test_identifier_in_actions(target_history: TargetHistory, required_tool: Req
|
||||
@requires_tool_id("identifier_single_in_repeat")
|
||||
def test_identifier_single_in_repeat(target_history: TargetHistory, required_tool: RequiredTool):
|
||||
hdca = target_history.with_pair()
|
||||
execute = required_tool.execute.with_inputs(
|
||||
execute = required_tool.execute().with_inputs(
|
||||
{"the_repeat_0|the_data|input1": {"batch": True, "values": [hdca.src_dict]}}
|
||||
)
|
||||
execute.assert_has_n_jobs(2).assert_creates_n_implicit_collections(1)
|
||||
@@ -227,7 +227,7 @@ def test_identifier_single_in_repeat(target_history: TargetHistory, required_too
|
||||
@requires_tool_id("identifier_multiple_in_conditional")
|
||||
def test_identifier_multiple_in_conditional(target_history: TargetHistory, required_tool: RequiredTool):
|
||||
hda = target_history.with_dataset("123", named="Normal HDA1")
|
||||
execute = required_tool.execute.with_inputs(
|
||||
execute = required_tool.execute().with_inputs(
|
||||
{
|
||||
"outer_cond|inner_cond|input1": hda.src_dict,
|
||||
}
|
||||
@@ -239,7 +239,7 @@ def test_identifier_multiple_in_conditional(target_history: TargetHistory, requi
|
||||
def test_identifier_with_multiple_normal_datasets(target_history: TargetHistory, required_tool: RequiredTool):
|
||||
hda1 = target_history.with_dataset("123", named="Normal HDA1")
|
||||
hda2 = target_history.with_dataset("456", named="Normal HDA2")
|
||||
execute = required_tool.execute.with_inputs({"input1": [hda1.src_dict, hda2.src_dict]})
|
||||
execute = required_tool.execute().with_inputs({"input1": [hda1.src_dict, hda2.src_dict]})
|
||||
execute.assert_has_single_job.assert_has_single_output.with_contents_stripped("Normal HDA1\nNormal HDA2")
|
||||
|
||||
|
||||
@@ -249,7 +249,7 @@ def test_map_over_empty_collection(target_history: TargetHistory, required_tool:
|
||||
inputs = {
|
||||
"input1": {"batch": True, "values": [hdca.src_dict]},
|
||||
}
|
||||
execute = required_tool.execute.with_inputs(inputs)
|
||||
execute = required_tool.execute().with_inputs(inputs)
|
||||
execute.assert_has_n_jobs(0)
|
||||
name = execute.assert_creates_implicit_collection(0).details["name"]
|
||||
assert "Concatenate datasets" in name
|
||||
@@ -304,7 +304,7 @@ def test_multi_run_in_repeat(
|
||||
}
|
||||
)
|
||||
)
|
||||
execute = required_tool.execute.with_inputs(inputs)
|
||||
execute = required_tool.execute().with_inputs(inputs)
|
||||
_check_multi_run_in_repeat(execute)
|
||||
|
||||
|
||||
@@ -343,7 +343,7 @@ def test_multi_run_in_repeat_mismatch(
|
||||
}
|
||||
)
|
||||
)
|
||||
execute = required_tool.execute.with_inputs(inputs)
|
||||
execute = required_tool.execute().with_inputs(inputs)
|
||||
_check_multi_run_in_repeat(execute)
|
||||
|
||||
|
||||
@@ -400,7 +400,7 @@ def test_multirun_on_multiple_inputs(
|
||||
}
|
||||
)
|
||||
)
|
||||
execute = required_tool.execute.with_inputs(inputs)
|
||||
execute = required_tool.execute().with_inputs(inputs)
|
||||
execute.assert_has_n_jobs(2)
|
||||
execute.assert_has_job(0).with_single_output.with_contents_stripped("123\n789")
|
||||
execute.assert_has_job(1).with_single_output.with_contents_stripped("456\n0ab")
|
||||
@@ -446,7 +446,7 @@ def test_multirun_on_multiple_inputs_unlinked(
|
||||
}
|
||||
)
|
||||
)
|
||||
execute = required_tool.execute.with_inputs(inputs)
|
||||
execute = required_tool.execute().with_inputs(inputs)
|
||||
execute.assert_has_n_jobs(4)
|
||||
execute.assert_has_job(0).with_single_output.with_contents_stripped("123\n789")
|
||||
execute.assert_has_job(1).with_single_output.with_contents_stripped("123\n0ab")
|
||||
@@ -462,7 +462,7 @@ def test_map_over_collection(
|
||||
legacy = {"input1": {"batch": True, "values": [hdca.src_dict]}}
|
||||
request = {"input1": {"__class__": "Batch", "values": [hdca.src_dict]}}
|
||||
inputs = tool_input_format.when.flat(legacy).when.nested(legacy).when.request(request)
|
||||
execute = required_tool.execute.with_inputs(inputs)
|
||||
execute = required_tool.execute().with_inputs(inputs)
|
||||
execute.assert_has_n_jobs(2).assert_creates_n_implicit_collections(1)
|
||||
output_collection = execute.assert_creates_implicit_collection(0)
|
||||
output_collection.assert_has_dataset_element("forward").with_contents_stripped("123")
|
||||
@@ -472,7 +472,7 @@ def test_map_over_collection(
|
||||
@requires_tool_id("cat|cat1")
|
||||
def test_map_over_data_with_paired_or_unpaired_unpaired(target_history: TargetHistory, required_tool: RequiredTool):
|
||||
hdca = target_history.with_unpaired()
|
||||
execute = required_tool.execute.with_inputs({"input1": {"batch": True, "values": [hdca.src_dict]}})
|
||||
execute = required_tool.execute().with_inputs({"input1": {"batch": True, "values": [hdca.src_dict]}})
|
||||
execute.assert_has_n_jobs(1).assert_creates_n_implicit_collections(1)
|
||||
output_collection = execute.assert_creates_implicit_collection(0)
|
||||
output_collection.assert_collection_type_is("paired_or_unpaired")
|
||||
@@ -482,7 +482,7 @@ def test_map_over_data_with_paired_or_unpaired_unpaired(target_history: TargetHi
|
||||
@requires_tool_id("cat|cat1")
|
||||
def test_map_over_data_with_paired_or_unpaired_paired(target_history: TargetHistory, required_tool: RequiredTool):
|
||||
hdca = target_history.with_paired_or_unpaired_pair()
|
||||
execute = required_tool.execute.with_inputs({"input1": {"batch": True, "values": [hdca.src_dict]}})
|
||||
execute = required_tool.execute().with_inputs({"input1": {"batch": True, "values": [hdca.src_dict]}})
|
||||
execute.assert_creates_n_implicit_collections(1)
|
||||
output_collection = execute.assert_creates_implicit_collection(0)
|
||||
output_collection.assert_collection_type_is("paired_or_unpaired")
|
||||
@@ -493,7 +493,7 @@ def test_map_over_data_with_paired_or_unpaired_paired(target_history: TargetHist
|
||||
@requires_tool_id("cat|cat1")
|
||||
def test_map_over_data_with_list_paired_or_unpaired(target_history: TargetHistory, required_tool: RequiredTool):
|
||||
hdca = target_history.with_list_of_paired_and_unpaired()
|
||||
execute = required_tool.execute.with_inputs({"input1": {"batch": True, "values": [hdca.src_dict]}})
|
||||
execute = required_tool.execute().with_inputs({"input1": {"batch": True, "values": [hdca.src_dict]}})
|
||||
execute.assert_creates_n_implicit_collections(1)
|
||||
output_collection = execute.assert_creates_implicit_collection(0)
|
||||
output_collection.assert_collection_type_is("list:paired_or_unpaired")
|
||||
@@ -504,7 +504,7 @@ def test_map_over_data_with_list_paired_or_unpaired(target_history: TargetHistor
|
||||
@requires_tool_id("collection_paired_or_unpaired")
|
||||
def test_map_over_paired_or_unpaired_with_list_paired(target_history: TargetHistory, required_tool: RequiredTool):
|
||||
hdca = target_history.with_example_list_of_pairs()
|
||||
execute = required_tool.execute.with_inputs(
|
||||
execute = required_tool.execute().with_inputs(
|
||||
{"f1": {"batch": True, "values": [{"map_over_type": "paired", **hdca.src_dict}]}}
|
||||
)
|
||||
execute.assert_has_n_jobs(2).assert_creates_n_implicit_collections(1)
|
||||
@@ -517,7 +517,7 @@ def test_map_over_paired_or_unpaired_with_list_paired(target_history: TargetHist
|
||||
def test_map_over_paired_or_unpaired_with_list(target_history: TargetHistory, required_tool: RequiredTool):
|
||||
contents = [("foo", "text for foo element")]
|
||||
hdca = target_history.with_list(contents)
|
||||
execute = required_tool.execute.with_inputs(
|
||||
execute = required_tool.execute().with_inputs(
|
||||
{"f1": {"batch": True, "values": [{"map_over_type": "single_datasets", **hdca.src_dict}]}}
|
||||
)
|
||||
execute.assert_has_n_jobs(1).assert_creates_n_implicit_collections(1)
|
||||
@@ -528,7 +528,7 @@ def test_map_over_paired_or_unpaired_with_list(target_history: TargetHistory, re
|
||||
@requires_tool_id("collection_paired_or_unpaired")
|
||||
def test_map_over_paired_or_unpaired_with_list_of_lists(target_history: TargetHistory, required_tool: RequiredTool):
|
||||
hdca = target_history.with_example_list_of_lists()
|
||||
execute = required_tool.execute.with_inputs(
|
||||
execute = required_tool.execute().with_inputs(
|
||||
{"f1": {"batch": True, "values": [{"map_over_type": "single_datasets", **hdca.src_dict}]}}
|
||||
)
|
||||
execute.assert_has_n_jobs(3).assert_creates_n_implicit_collections(1)
|
||||
@@ -542,7 +542,7 @@ def test_map_over_paired_or_unpaired_with_list_of_lists(target_history: TargetHi
|
||||
@requires_tool_id("collection_paired_or_unpaired")
|
||||
def test_adapting_dataset_to_paired_or_unpaired(target_history: TargetHistory, required_tool: RequiredTool):
|
||||
hda1 = target_history.with_dataset("1\t2\t3").src_dict
|
||||
execution = required_tool.execute.with_inputs(
|
||||
execution = required_tool.execute().with_inputs(
|
||||
{
|
||||
"f1": {
|
||||
"src": "CollectionAdapter",
|
||||
@@ -558,7 +558,7 @@ def test_adapting_dataset_to_paired_or_unpaired(target_history: TargetHistory, r
|
||||
@requires_tool_id("cat_collection")
|
||||
def test_adapting_dataset_to_list(target_history: TargetHistory, required_tool: RequiredTool):
|
||||
hda1 = target_history.with_dataset("1\t2\t3").src_dict
|
||||
execution = required_tool.execute.with_inputs(
|
||||
execution = required_tool.execute().with_inputs(
|
||||
{
|
||||
"input1": {
|
||||
"src": "CollectionAdapter",
|
||||
@@ -575,7 +575,7 @@ def test_adapting_dataset_to_list(target_history: TargetHistory, required_tool:
|
||||
def test_adapting_two_datasets_to_paired_collection(target_history: TargetHistory, required_tool: RequiredTool):
|
||||
hda1 = target_history.with_dataset("1\t2\t3").src_dict
|
||||
hda2 = target_history.with_dataset("4\t5\t6").src_dict
|
||||
execution = required_tool.execute.with_inputs(
|
||||
execution = required_tool.execute().with_inputs(
|
||||
{
|
||||
"f1": {
|
||||
"src": "CollectionAdapter",
|
||||
@@ -594,7 +594,7 @@ def test_adapting_two_datasets_to_paired_collection(target_history: TargetHistor
|
||||
@requires_tool_id("gx_data")
|
||||
def test_map_over_data_param_with_list_of_lists(target_history: TargetHistory, required_tool: RequiredTool):
|
||||
hdca = target_history.with_example_list_of_lists()
|
||||
execute = required_tool.execute.with_inputs({"parameter": {"batch": True, "values": [hdca.src_dict]}})
|
||||
execute = required_tool.execute().with_inputs({"parameter": {"batch": True, "values": [hdca.src_dict]}})
|
||||
execute.assert_has_n_jobs(3).assert_creates_n_implicit_collections(1)
|
||||
execute.assert_creates_implicit_collection(0)
|
||||
|
||||
@@ -604,7 +604,7 @@ def test_optional_repeats_with_mins_filled_id(target_history: TargetHistory, req
|
||||
# we have a tool test for this but I wanted to verify it wasn't just the
|
||||
# tool test framework filling in a default. Creating a raw request here
|
||||
# verifies that currently select parameters don't require a selection.
|
||||
required_tool.execute.assert_has_single_job.with_single_output.containing("false").containing("length: 2")
|
||||
required_tool.execute().assert_has_single_job.with_single_output.containing("false").containing("length: 2")
|
||||
|
||||
|
||||
@requires_tool_id("gx_select")
|
||||
@@ -612,7 +612,7 @@ def test_optional_repeats_with_mins_filled_id(target_history: TargetHistory, req
|
||||
def test_select_first_by_default(required_tools: list[RequiredTool], tool_input_format: DescribeToolInputs):
|
||||
empty = tool_input_format.when.any({})
|
||||
for required_tool in required_tools:
|
||||
required_tool.execute.with_inputs(empty).assert_has_single_job.with_output("output").with_contents_stripped(
|
||||
required_tool.execute().with_inputs(empty).assert_has_single_job.with_output("output").with_contents_stripped(
|
||||
"--ex1"
|
||||
)
|
||||
|
||||
@@ -626,7 +626,7 @@ def test_select_on_null_errors(required_tools: list[RequiredTool], tool_input_fo
|
||||
# is passed, an error (rightfully) occurs. This test verifies that.
|
||||
null_parameter = tool_input_format.when.any({"parameter": None})
|
||||
for required_tool in required_tools:
|
||||
fails = required_tool.execute.with_inputs(null_parameter).assert_fails
|
||||
fails = required_tool.execute().with_inputs(null_parameter).assert_fails
|
||||
if tool_input_format.is_request:
|
||||
fails.with_error_containing("Input should be")
|
||||
else:
|
||||
@@ -641,7 +641,7 @@ def test_select_empty_causes_error_regardless(
|
||||
# despite selects otherwise selecting defaults - nothing can be done if the select option list is empty
|
||||
empty = tool_input_format.when.any({})
|
||||
for required_tool in required_tools:
|
||||
failure = required_tool.execute.with_inputs(empty).assert_fails
|
||||
failure = required_tool.execute().with_inputs(empty).assert_fails
|
||||
if tool_input_format.is_request:
|
||||
failure.with_error_containing("validation error")
|
||||
else:
|
||||
@@ -656,10 +656,10 @@ def test_select_optional_null_by_default(required_tools: list[RequiredTool], too
|
||||
empty = tool_input_format.when.any({})
|
||||
null_parameter = tool_input_format.when.any({"parameter": None})
|
||||
for required_tool in required_tools:
|
||||
required_tool.execute.with_inputs(empty).assert_has_single_job.with_output("output").with_contents_stripped(
|
||||
required_tool.execute().with_inputs(empty).assert_has_single_job.with_output("output").with_contents_stripped(
|
||||
"None"
|
||||
)
|
||||
required_tool.execute.with_inputs(null_parameter).assert_has_single_job.with_output(
|
||||
required_tool.execute().with_inputs(null_parameter).assert_has_single_job.with_output(
|
||||
"output"
|
||||
).with_contents_stripped("None")
|
||||
|
||||
@@ -673,10 +673,10 @@ def test_select_multiple_does_not_select_first_by_default(
|
||||
empty = tool_input_format.when.any({})
|
||||
null_parameter = tool_input_format.when.any({"parameter": None})
|
||||
for required_tool in required_tools:
|
||||
required_tool.execute.with_inputs(empty).assert_has_single_job.with_output("output").with_contents_stripped(
|
||||
required_tool.execute().with_inputs(empty).assert_has_single_job.with_output("output").with_contents_stripped(
|
||||
"None"
|
||||
)
|
||||
required_tool.execute.with_inputs(null_parameter).assert_has_single_job.with_output(
|
||||
required_tool.execute().with_inputs(null_parameter).assert_has_single_job.with_output(
|
||||
"output"
|
||||
).with_contents_stripped("None")
|
||||
|
||||
@@ -687,7 +687,7 @@ def test_select_multiple_does_default_to_select_values_marked_as_selected(
|
||||
):
|
||||
empty = tool_input_format.when.any({})
|
||||
for required_tool in required_tools:
|
||||
required_tool.execute.with_inputs(empty).assert_has_single_job.with_output("output").with_contents_stripped(
|
||||
required_tool.execute().with_inputs(empty).assert_has_single_job.with_output("output").with_contents_stripped(
|
||||
"--ex3"
|
||||
)
|
||||
|
||||
@@ -696,31 +696,31 @@ def test_select_multiple_does_default_to_select_values_marked_as_selected(
|
||||
@requires_tool_id("gx_text_optional_false")
|
||||
def test_null_to_text_tools(required_tools: list[RequiredTool], tool_input_format: DescribeToolInputs):
|
||||
for required_tool in required_tools:
|
||||
execute = required_tool.execute.with_inputs(tool_input_format.when.any({}))
|
||||
execute = required_tool.execute().with_inputs(tool_input_format.when.any({}))
|
||||
execute.assert_has_single_job.with_output("output").with_contents_stripped("")
|
||||
execute.assert_has_single_job.with_output("inputs_json").with_json({"parameter": ""})
|
||||
|
||||
execute = required_tool.execute.with_inputs(tool_input_format.when.any({"parameter": None}))
|
||||
execute = required_tool.execute().with_inputs(tool_input_format.when.any({"parameter": None}))
|
||||
execute.assert_has_single_job.with_output("output").with_contents_stripped("")
|
||||
execute.assert_has_single_job.with_output("inputs_json").with_json({"parameter": ""})
|
||||
|
||||
|
||||
@requires_tool_id("gx_text_optional")
|
||||
def test_null_to_optional_text_tool(required_tool: RequiredTool, tool_input_format: DescribeToolInputs):
|
||||
execute = required_tool.execute.with_inputs(tool_input_format.when.any({}))
|
||||
execute = required_tool.execute().with_inputs(tool_input_format.when.any({}))
|
||||
execute.assert_has_single_job.with_output("output").with_contents_stripped("")
|
||||
execute.assert_has_single_job.with_output("inputs_json").with_json({"parameter": None})
|
||||
|
||||
execute = required_tool.execute.with_inputs(tool_input_format.when.any({"parameter": None}))
|
||||
execute = required_tool.execute().with_inputs(tool_input_format.when.any({"parameter": None}))
|
||||
execute.assert_has_single_job.with_output("output").with_contents_stripped("")
|
||||
execute.assert_has_single_job.with_output("inputs_json").with_json({"parameter": None})
|
||||
|
||||
|
||||
@requires_tool_id("gx_text_empty_validation")
|
||||
def test_null_to_text_tool_with_validation(required_tool: RequiredTool, tool_input_format: DescribeToolInputs):
|
||||
required_tool.execute.with_inputs(tool_input_format.when.any({})).assert_fails()
|
||||
required_tool.execute.with_inputs(tool_input_format.when.any({"parameter": None})).assert_fails()
|
||||
required_tool.execute.with_inputs(tool_input_format.when.any({"parameter": ""})).assert_fails()
|
||||
required_tool.execute().with_inputs(tool_input_format.when.any({})).assert_fails()
|
||||
required_tool.execute().with_inputs(tool_input_format.when.any({"parameter": None})).assert_fails()
|
||||
required_tool.execute().with_inputs(tool_input_format.when.any({"parameter": ""})).assert_fails()
|
||||
|
||||
|
||||
@requires_tool_id("cat|cat1")
|
||||
@@ -729,7 +729,7 @@ def test_deferred_basic(required_tool: RequiredTool, target_history: TargetHisto
|
||||
inputs = {
|
||||
"input1": has_src_dict.src_dict,
|
||||
}
|
||||
output = required_tool.execute.with_inputs(inputs).assert_has_single_job.with_single_output
|
||||
output = required_tool.execute().with_inputs(inputs).assert_has_single_job.with_single_output
|
||||
output.assert_contains("chr1 147962192 147962580 CCDS989.1_cds_0_0_chr1_147962193_r 0 -")
|
||||
|
||||
|
||||
@@ -740,7 +740,7 @@ def test_deferred_with_metadata_options_filter(required_tool: RequiredTool, targ
|
||||
"input_bam": has_src_dict.src_dict,
|
||||
"ref_names": "chrM",
|
||||
}
|
||||
required_tool.execute.with_inputs(inputs).assert_has_single_job.with_single_output.with_contents_stripped("chrM")
|
||||
required_tool.execute().with_inputs(inputs).assert_has_single_job.with_single_output.with_contents_stripped("chrM")
|
||||
|
||||
|
||||
@requires_tool_id("cat_list")
|
||||
@@ -750,6 +750,6 @@ def test_deferred_multi_input(required_tool: RequiredTool, target_history: Targe
|
||||
inputs = {
|
||||
"input1": [has_src_dict_bed.src_dict, has_src_dict_txt.src_dict],
|
||||
}
|
||||
output = required_tool.execute.with_inputs(inputs).assert_has_single_job.with_single_output
|
||||
output = required_tool.execute().with_inputs(inputs).assert_has_single_job.with_single_output
|
||||
output.assert_contains("chr1 147962192 147962580 CCDS989.1_cds_0_0_chr1_147962193_r 0 -")
|
||||
output.assert_contains("chr1 4225 19670")
|
||||
|
||||
@@ -4161,9 +4161,8 @@ class RequiredTool:
|
||||
self._tool_id = tool_id
|
||||
self._default_history_id = default_history_id
|
||||
|
||||
@property
|
||||
def execute(self) -> "DescribeToolExecution":
|
||||
execution = DescribeToolExecution(self._dataset_populator, self._tool_id)
|
||||
def execute(self, use_cached_job: bool = False) -> "DescribeToolExecution":
|
||||
execution = DescribeToolExecution(self._dataset_populator, self._tool_id, use_cached_job=use_cached_job)
|
||||
if self._default_history_id:
|
||||
execution.in_history(self._default_history_id)
|
||||
return execution
|
||||
@@ -4213,9 +4212,10 @@ class DescribeToolExecution:
|
||||
_inputs: dict[str, Any]
|
||||
_tool_request_id: Optional[str] = None # if input_format == "request" request ID
|
||||
|
||||
def __init__(self, dataset_populator: BaseDatasetPopulator, tool_id: str):
|
||||
def __init__(self, dataset_populator: BaseDatasetPopulator, tool_id: str, use_cached_job: bool = False) -> None:
|
||||
self._dataset_populator = dataset_populator
|
||||
self._tool_id = tool_id
|
||||
self.use_cached_job = use_cached_job
|
||||
self._inputs = {}
|
||||
|
||||
def in_history(self, has_history_id: Union[str, "TargetHistory"]) -> Self:
|
||||
@@ -4245,7 +4245,9 @@ class DescribeToolExecution:
|
||||
return self
|
||||
|
||||
def _execute(self):
|
||||
kwds: dict[str, Any] = {}
|
||||
kwds: dict[str, Any] = {
|
||||
"use_cached_job": self.use_cached_job,
|
||||
}
|
||||
if self._input_format is not None:
|
||||
kwds["input_format"] = self._input_format
|
||||
history_id = self._ensure_history_id
|
||||
|
||||
Reference in New Issue
Block a user