def test_set_dependencies_respects_unmapped(): t1 = Task() t2 = Task() f = Flow(name="test") f.set_dependencies(task=t1, upstream_tasks=[unmapped(t2)], mapped=True) assert len(f.edges) == 1 edge = f.edges.pop() assert edge.mapped is False
def test_set_dependencies_creates_mapped_edges(): t1 = Task() t2 = Task() f = Flow(name="test") f.set_dependencies(task=t1, upstream_tasks=[t2], mapped=True) assert len(f.edges) == 1 edge = f.edges.pop() assert edge.mapped is True
def test_set_dependencies_converts_arguments_to_tasks(): class ArgTask(Task): def run(self, x): return x f = Flow(name="test") t1 = ArgTask() t2 = 2 t3 = 3 t4 = 4 f.set_dependencies( task=t1, upstream_tasks=[t2], downstream_tasks=[t3], keyword_tasks={"x": t4} ) assert len(f.tasks) == 4
def test_set_dependencies_adds_all_arguments_to_flow(): f = Flow(name="test") class ArgTask(Task): def run(self, x): return x t1 = ArgTask() t2 = Task() t3 = Task() t4 = Task() f.set_dependencies( task=t1, upstream_tasks=[t2], downstream_tasks=[t3], keyword_tasks={"x": t4} ) assert f.tasks == set([t1, t2, t3, t4])