diff --git a/tests/sensors/test_external_task_sensor.py b/tests/sensors/test_external_task_sensor.py index d1e150bf5d916..e507c7c764512 100644 --- a/tests/sensors/test_external_task_sensor.py +++ b/tests/sensors/test_external_task_sensor.py @@ -569,7 +569,12 @@ def run_tasks(dag_bag, execution_date=DEFAULT_DATE, session=None): run_type=DagRunType.MANUAL, session=session, ) - for ti in dagrun.task_instances: + # we use sorting by task_id here because for the test DAG structure of ours + # this is equivalent to topological sort. It would not work in general case + # but it works for our case because we specifically constructed test DAGS + # in the way that those two sort methods are equivalent + tasks = sorted((ti for ti in dagrun.task_instances), key=lambda ti: ti.task_id) + for ti in tasks: ti.refresh_from_task(dag.get_task(ti.task_id)) tis[ti.task_id] = ti ti.run(session=session)