You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by fo...@apache.org on 2018/03/10 14:18:17 UTC
incubator-airflow git commit: [AIRFLOW-102] Fix test_complex_template
always succeeds
Repository: incubator-airflow
Updated Branches:
refs/heads/master f80138486 -> 76d11f24c
[AIRFLOW-102] Fix test_complex_template always succeeds
Exceptions from on_success_callback are stomped
on, meaning
test_complex_template would never fail.
Rather than follow the "success = True" pattern
(which results in the
lovely-to-track-down error message of
`AssertionError: False is not
true` I instead changed all these to have the
verify method be execute
-- meaning exceptions are propagated unchanged.
Thanks to @sekikn in
https://github.com/apache/incubator-
airflow/pull/2375 for the info to
track down what was going on.
Closes #2375
Closes #3100 from
ashb/template_tests_always_succeed
Project: http://git-wip-us.apache.org/repos/asf/incubator-airflow/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-airflow/commit/76d11f24
Tree: http://git-wip-us.apache.org/repos/asf/incubator-airflow/tree/76d11f24
Diff: http://git-wip-us.apache.org/repos/asf/incubator-airflow/diff/76d11f24
Branch: refs/heads/master
Commit: 76d11f24c64abb53826b1bb99fe87a6bfc317c43
Parents: f801384
Author: Ash Berlin-Taylor <as...@firemirror.com>
Authored: Sat Mar 10 15:18:11 2018 +0100
Committer: Fokko Driesprong <fo...@godatadriven.com>
Committed: Sat Mar 10 15:18:11 2018 +0100
----------------------------------------------------------------------
tests/core.py | 20 ++++++--------------
1 file changed, 6 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-airflow/blob/76d11f24/tests/core.py
----------------------------------------------------------------------
diff --git a/tests/core.py b/tests/core.py
index 45a6e34..03372db 100644
--- a/tests/core.py
+++ b/tests/core.py
@@ -488,7 +488,8 @@ class CoreTest(unittest.TestCase):
def test_complex_template(self):
def verify_templated_field(context):
- self.assertEqual(context['ti'].task.some_templated_field['bar'][1], context['ds'])
+ self.assertEqual(context['ti'].task.some_templated_field['bar'][1],
+ context['ds'])
t = OperatorSubclass(
task_id='test_complex_template',
@@ -496,8 +497,8 @@ class CoreTest(unittest.TestCase):
'foo': '123',
'bar': ['baz', '{{ ds }}']
},
- on_success_callback=verify_templated_field,
dag=self.dag)
+ t.execute = verify_templated_field
t.run(start_date=DEFAULT_DATE, end_date=DEFAULT_DATE, ignore_ti_state=True)
def test_template_with_variable(self):
@@ -505,7 +506,6 @@ class CoreTest(unittest.TestCase):
Test the availability of variables in templates
"""
val = {
- 'success': False,
'test_value': 'a test value'
}
Variable.set("a_variable", val['test_value'])
@@ -513,22 +513,19 @@ class CoreTest(unittest.TestCase):
def verify_templated_field(context):
self.assertEqual(context['ti'].task.some_templated_field,
val['test_value'])
- val['success'] = True
t = OperatorSubclass(
task_id='test_complex_template',
some_templated_field='{{ var.value.a_variable }}',
- on_success_callback=verify_templated_field,
dag=self.dag)
+ t.execute = verify_templated_field
t.run(start_date=DEFAULT_DATE, end_date=DEFAULT_DATE, ignore_ti_state=True)
- self.assertTrue(val['success'])
def test_template_with_json_variable(self):
"""
Test the availability of variables (serialized as JSON) in templates
"""
val = {
- 'success': False,
'test_value': {'foo': 'bar', 'obj': {'v1': 'yes', 'v2': 'no'}}
}
Variable.set("a_variable", val['test_value'], serialize_json=True)
@@ -536,15 +533,13 @@ class CoreTest(unittest.TestCase):
def verify_templated_field(context):
self.assertEqual(context['ti'].task.some_templated_field,
val['test_value']['obj']['v2'])
- val['success'] = True
t = OperatorSubclass(
task_id='test_complex_template',
some_templated_field='{{ var.json.a_variable.obj.v2 }}',
- on_success_callback=verify_templated_field,
dag=self.dag)
+ t.execute = verify_templated_field
t.run(start_date=DEFAULT_DATE, end_date=DEFAULT_DATE, ignore_ti_state=True)
- self.assertTrue(val['success'])
def test_template_with_json_variable_as_value(self):
"""
@@ -552,7 +547,6 @@ class CoreTest(unittest.TestCase):
accessed as a value
"""
val = {
- 'success': False,
'test_value': {'foo': 'bar'}
}
Variable.set("a_variable", val['test_value'], serialize_json=True)
@@ -560,15 +554,13 @@ class CoreTest(unittest.TestCase):
def verify_templated_field(context):
self.assertEqual(context['ti'].task.some_templated_field,
u'{"foo": "bar"}')
- val['success'] = True
t = OperatorSubclass(
task_id='test_complex_template',
some_templated_field='{{ var.value.a_variable }}',
- on_success_callback=verify_templated_field,
dag=self.dag)
+ t.execute = verify_templated_field
t.run(start_date=DEFAULT_DATE, end_date=DEFAULT_DATE, ignore_ti_state=True)
- self.assertTrue(val['success'])
def test_template_non_bool(self):
"""