Source code for ewoksppf.tests.test_ppf_workflow18
import pytest
from ewokscore.tests.utils.results import assert_execute_graph_default_result
from ewoksppf import execute_graph
[docs]
def workflow18(dotask4=True):
ppfmethod = "ewoksppf.tests.test_ppf_actors.pythonActorAddWithoutSleep.run"
nodes = [
{
"id": "task1",
"task_type": "ppfmethod",
"task_identifier": ppfmethod,
"default_inputs": [{"name": "value", "value": 0}],
},
{
"id": "task2",
"task_type": "ppfmethod",
"task_identifier": ppfmethod,
"default_inputs": [{"name": "value", "value": 10}],
},
{"id": "task3", "task_type": "ppfmethod", "task_identifier": ppfmethod},
{"id": "task4", "task_type": "ppfmethod", "task_identifier": ppfmethod},
]
links = [
{"source": "task1", "target": "task3", "map_all_data": True},
{"source": "task2", "target": "task3"},
{
"source": "task2",
"target": "task4",
"map_all_data": True,
"conditions": [{"source_output": "value", "value": 11 if dotask4 else 0}],
},
]
graph = {
"graph": {"id": "workflow18"},
"links": links,
"nodes": nodes,
}
if dotask4:
expected_results = {"_ppfdict": {"value": 12}}
else:
expected_results = {"_ppfdict": {"value": 2}}
return graph, expected_results
[docs]
@pytest.mark.parametrize("dotask4", [True, False])
def test_workflow18(dotask4, ppf_log_config, tmpdir):
"""Test conditional links"""
varinfo = {"root_uri": str(tmpdir)}
graph, expected = workflow18(dotask4=dotask4)
result = execute_graph(graph, varinfo=varinfo)
assert_execute_graph_default_result(graph, result, expected, varinfo=varinfo)