mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Merge pull request #7556 from jmchilton/expression_tools
Implement expression tools and non-data tool outputs.
This commit is contained in:
@@ -2130,6 +2130,48 @@ class ToolsTestCase(api.ApiTestCase):
|
||||
output_content = self.dataset_populator.get_history_dataset_content(history_id, dataset=output)
|
||||
self.assertEqual(output_content.strip(), "123\n456\n456\n0ab")
|
||||
|
||||
@skip_without_tool("expression_forty_two")
|
||||
def test_galaxy_expression_tool_simplest(self):
|
||||
history_id = self.dataset_populator.new_history()
|
||||
inputs = {
|
||||
}
|
||||
run_response = self._run(
|
||||
"expression_forty_two", history_id, inputs
|
||||
)
|
||||
self._assert_status_code_is(run_response, 200)
|
||||
self.dataset_populator.wait_for_history(history_id, assert_ok=True)
|
||||
output_content = self.dataset_populator.get_history_dataset_content(history_id)
|
||||
self.assertEqual(output_content, "42")
|
||||
|
||||
@skip_without_tool("expression_parse_int")
|
||||
def test_galaxy_expression_tool_simple(self):
|
||||
history_id = self.dataset_populator.new_history()
|
||||
inputs = {
|
||||
'input1': '7',
|
||||
}
|
||||
run_response = self._run(
|
||||
"expression_parse_int", history_id, inputs
|
||||
)
|
||||
self._assert_status_code_is(run_response, 200)
|
||||
self.dataset_populator.wait_for_history(history_id, assert_ok=True)
|
||||
output_content = self.dataset_populator.get_history_dataset_content(history_id)
|
||||
self.assertEqual(output_content, "7")
|
||||
|
||||
@skip_without_tool("expression_log_line_count")
|
||||
def test_galaxy_expression_metadata(self):
|
||||
history_id = self.dataset_populator.new_history()
|
||||
new_dataset1 = self.dataset_populator.new_dataset(history_id, content='1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14')
|
||||
inputs = {
|
||||
'input1': dataset_to_param(new_dataset1),
|
||||
}
|
||||
run_response = self._run(
|
||||
"expression_log_line_count", history_id, inputs
|
||||
)
|
||||
self._assert_status_code_is(run_response, 200)
|
||||
self.dataset_populator.wait_for_history(history_id, assert_ok=True)
|
||||
output_content = self.dataset_populator.get_history_dataset_content(history_id)
|
||||
self.assertEqual(output_content, "3")
|
||||
|
||||
def __build_group_list(self, history_id):
|
||||
response = self.dataset_collection_populator.upload_collection(history_id, "list", elements=[
|
||||
{
|
||||
|
||||
@@ -822,12 +822,14 @@ test_data:
|
||||
""", history_id=history_id, assert_ok=False, wait=False)
|
||||
self.wait_for_invocation_and_jobs(history_id, job_summary.workflow_id, job_summary.invocation_id, assert_ok=False)
|
||||
history_contents = self.dataset_populator._get_contents_request(history_id=history_id).json()
|
||||
first_input = history_contents[1]
|
||||
assert first_input['history_content_type'] == 'dataset'
|
||||
paused_dataset = history_contents[-1]
|
||||
failed_dataset = self.dataset_populator.get_history_dataset_details(history_id, hid=5, assert_ok=False)
|
||||
assert paused_dataset['state'] == 'paused', paused_dataset
|
||||
assert failed_dataset['state'] == 'error', failed_dataset
|
||||
inputs = {"input1": {'values': [{'src': 'hda',
|
||||
'id': history_contents[0]['id']}]
|
||||
'id': first_input['id']}]
|
||||
},
|
||||
"failbool": "false",
|
||||
"rerun_remap_job_id": failed_dataset['creating_job']}
|
||||
@@ -1996,7 +1998,7 @@ text_input:
|
||||
type: raw
|
||||
""", history_id=history_id, wait=True, assert_ok=False)
|
||||
|
||||
def test_run_with_text_connection(self):
|
||||
def test_run_with_text_input_connection(self):
|
||||
with self.dataset_populator.test_history() as history_id:
|
||||
self._run_jobs("""
|
||||
class: GalaxyWorkflow
|
||||
@@ -2027,6 +2029,27 @@ text_input:
|
||||
content = self.dataset_populator.get_history_dataset_content(history_id)
|
||||
self.assertEqual("chrX\t152691446\t152691471\tCCDS14735.1_cds_0_0_chrX_152691447_f\t0\t+\n", content)
|
||||
|
||||
def test_run_with_numeric_input_connection(self):
|
||||
history_id = self.dataset_populator.new_history()
|
||||
self._run_jobs("""
|
||||
class: GalaxyWorkflow
|
||||
steps:
|
||||
- label: forty_two
|
||||
tool_id: expression_forty_two
|
||||
state: {}
|
||||
- label: consume_expression_parameter
|
||||
tool_id: cheetah_casting
|
||||
state:
|
||||
floattest: 3.14
|
||||
inttest:
|
||||
$link: forty_two#out1
|
||||
test_data: {}
|
||||
""", history_id=history_id)
|
||||
|
||||
self.dataset_populator.wait_for_history(history_id, assert_ok=True)
|
||||
content = self.dataset_populator.get_history_dataset_content(history_id)
|
||||
self.assertEquals("43\n4.14\n", content)
|
||||
|
||||
@skip_without_tool('cat1')
|
||||
def test_workflow_rerun_with_use_cached_job(self):
|
||||
workflow = self.workflow_populator.load_workflow(name="test_for_run")
|
||||
|
||||
Reference in New Issue
Block a user