Exemple #1
0
    def test_serialization(self):
        """Serialization and deserialization should work for every DAG and Operator."""
        dags = collect_dags()
        serialized_dags = {}
        for _, v in dags.items():
            dag = SerializedDAG.to_dict(v)
            SerializedDAG.validate_schema(dag)
            serialized_dags[v.dag_id] = dag

        # Compares with the ground truth of JSON string.
        self.validate_serialized_dag(serialized_dags['simple_dag'],
                                     serialized_simple_dag_ground_truth)
Exemple #2
0
    def test_deserialization_schedule_interval(self,
                                               serialized_schedule_interval,
                                               expected):
        serialized = {
            "__version": 1,
            "dag": {
                "default_args": {
                    "__type": "dict",
                    "__var": {}
                },
                "params": {},
                "_dag_id": "simple_dag",
                "fileloc": __file__,
                "tasks": [],
                "timezone": "UTC",
                "schedule_interval": serialized_schedule_interval,
            },
        }

        SerializedDAG.validate_schema(serialized)

        dag = SerializedDAG.from_dict(serialized)

        self.assertEqual(dag.schedule_interval, expected)