コード例 #1
0
    def test_skip(self, mock_now):
        session = settings.Session()
        now = datetime.datetime.utcnow().replace(
            tzinfo=pendulum.timezone('UTC'))
        mock_now.return_value = now
        dag = DAG(
            'dag',
            start_date=DEFAULT_DATE,
        )
        with dag:
            tasks = [DummyOperator(task_id='task')]
        dag_run = dag.create_dagrun(
            run_id='manual__' + now.isoformat(),
            state=State.FAILED,
        )
        SkipMixin().skip(dag_run=dag_run,
                         execution_date=now,
                         tasks=tasks,
                         session=session)

        session.query(TI).filter(
            TI.dag_id == 'dag',
            TI.task_id == 'task',
            TI.state == State.SKIPPED,
            TI.start_date == now,
            TI.end_date == now,
        ).one()
コード例 #2
0
 def test_skip_none_tasks(self):
     session = Mock()
     SkipMixin().skip(dag_run=None,
                      execution_date=None,
                      tasks=[],
                      session=session)
     self.assertFalse(session.query.called)
     self.assertFalse(session.commit.called)