def test_dagrun_success_when_all_skipped(self): """ Tests that a DAG run succeeds when all tasks are skipped """ dag = DAG(dag_id='test_dagrun_success_when_all_skipped', start_date=timezone.datetime(2017, 1, 1)) dag_task1 = ShortCircuitOperator(task_id='test_short_circuit_false', dag=dag, python_callable=lambda: False) dag_task2 = DummyOperator(task_id='test_state_skipped1', dag=dag) dag_task3 = DummyOperator(task_id='test_state_skipped2', dag=dag) dag_task1.set_downstream(dag_task2) dag_task2.set_downstream(dag_task3) initial_task_states = { 'test_short_circuit_false': State.SUCCESS, 'test_state_skipped1': State.SKIPPED, 'test_state_skipped2': State.SKIPPED, } dag_run = self.create_dag_run(dag=dag, state=State.RUNNING, task_states=initial_task_states) dag_run.update_state() self.assertEqual(State.SUCCESS, dag_run.state)
"/bin/echo '{{ params.target_location }}/" + f"{t_view.output}';", ], task_id="move_data", do_xcom_push=True, params={ "source_location": "/your/input_dir/path", "target_location": "/your/output_dir/path" }, dag=dag, ) t_print = DockerOperator( api_version="1.19", docker_url="tcp://localhost:2375", image="centos:latest", mounts=[ Mount(source="/your/host/output_dir/path", target="/your/output_dir/path", type="bind") ], command=f"cat {t_move.output}", task_id="print", dag=dag, ) t_is_data_available.set_downstream(t_move) t_move.set_downstream(t_print) # Task dependencies created via `XComArgs`: # t_view >> t_is_data_available