You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by GitBox <gi...@apache.org> on 2019/04/05 20:23:25 UTC

[GitHub] [airflow] cmdoptesc commented on a change in pull request #5032: [AIRFLOW-4232] Add `none_skipped` trigger rule

cmdoptesc commented on a change in pull request #5032: [AIRFLOW-4232] Add `none_skipped` trigger rule
URL: https://github.com/apache/airflow/pull/5032#discussion_r272731994
 
 

 ##########
 File path: tests/ti_deps/deps/test_trigger_rule_dep.py
 ##########
 @@ -275,6 +276,72 @@ def test_all_done_tr_failure(self):
         self.assertEqual(len(dep_statuses), 1)
         self.assertFalse(dep_statuses[0].passed)
 
+    def test_none_skipped_tr_success(self):
+        """
+        None-skipped trigger rule success
+        """
+
+        ti = self._get_task_instance(TriggerRule.NONE_SKIPPED,
+                                     upstream_task_ids=["FakeTaskID",
+                                                        "OtherFakeTaskID",
+                                                        "FailedFakeTaskID"])
+        dep_statuses = tuple(TriggerRuleDep()._evaluate_trigger_rule(
+            ti=ti,
+            successes=2,
+            skipped=0,
+            failed=1,
+            upstream_failed=0,
+            done=3,
+            flag_upstream_failed=False,
+            session="Fake Session"))
+        self.assertEqual(len(dep_statuses), 0)
+
+        # with `flag_upstream_failed` set to True
+        dep_statuses = tuple(TriggerRuleDep()._evaluate_trigger_rule(
+            ti=ti,
+            successes=0,
+            skipped=0,
+            failed=3,
+            upstream_failed=0,
+            done=3,
+            flag_upstream_failed=True,
+            session="Fake Session"))
+        self.assertEqual(len(dep_statuses), 0)
+
+    def test_none_skipped_tr_failure(self):
+        """
+        None-skipped trigger rule failure
+        """
+        ti = self._get_task_instance(TriggerRule.NONE_SKIPPED,
+                                     upstream_task_ids=["FakeTaskID",
+                                                        "SkippedTaskID"])
+
+        with create_session() as session:
+            dep_statuses = tuple(TriggerRuleDep()._evaluate_trigger_rule(
+                ti=ti,
+                successes=1,
+                skipped=1,
+                failed=0,
+                upstream_failed=0,
+                done=2,
+                flag_upstream_failed=False,
+                session=session))
 
 Review comment:
   I assume there was the `AttributeError: 'str' object has no attribute 'merge'```` because we were just passing a str instead of an actual session.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services