Skip to content

Commit ef147dd

Browse files
jschefflpotiuk
authored andcommitted
Fix pytests for Core except Variable for DB Isolation Mode (#41375)
(cherry picked from commit 60cbea5)
1 parent 9f3c1ae commit ef147dd

File tree

4 files changed

+20
-6
lines changed

4 files changed

+20
-6
lines changed

tests/models/test_trigger.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ def test_clean_unused(session, create_task_instance):
9999
assert session.query(Trigger).one().id == trigger1.id
100100

101101

102+
@pytest.mark.skip_if_database_isolation_mode # Does not work in db isolation mode
102103
def test_submit_event(session, create_task_instance):
103104
"""
104105
Tests that events submitted to a trigger re-wake their dependent
@@ -126,6 +127,7 @@ def test_submit_event(session, create_task_instance):
126127
assert updated_task_instance.next_kwargs == {"event": 42, "cheesecake": True}
127128

128129

130+
@pytest.mark.skip_if_database_isolation_mode # Does not work in db isolation mode
129131
def test_submit_failure(session, create_task_instance):
130132
"""
131133
Tests that failures submitted to a trigger fail their dependent
@@ -150,6 +152,7 @@ def test_submit_failure(session, create_task_instance):
150152
assert updated_task_instance.next_method == "__fail__"
151153

152154

155+
@pytest.mark.skip_if_database_isolation_mode # Does not work in db isolation mode
153156
@pytest.mark.parametrize(
154157
"event_cls, expected",
155158
[
@@ -300,6 +303,7 @@ def test_assign_unassigned(session, create_task_instance):
300303
)
301304

302305

306+
@pytest.mark.skip_if_database_isolation_mode # Does not work in db isolation mode
303307
def test_get_sorted_triggers_same_priority_weight(session, create_task_instance):
304308
"""
305309
Tests that triggers are sorted by the creation_date if they have the same priority.
@@ -350,6 +354,7 @@ def test_get_sorted_triggers_same_priority_weight(session, create_task_instance)
350354
assert trigger_ids_query == [(1,), (2,)]
351355

352356

357+
@pytest.mark.skip_if_database_isolation_mode # Does not work in db isolation mode
353358
def test_get_sorted_triggers_different_priority_weights(session, create_task_instance):
354359
"""
355360
Tests that triggers are sorted by the priority_weight.

tests/models/test_xcom_arg.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,7 @@ def push_xcom_value(key, value, **context):
184184
dag.run()
185185

186186

187+
@pytest.mark.skip_if_database_isolation_mode # Does not work in db isolation mode
187188
@pytest.mark.parametrize(
188189
"fillvalue, expected_results",
189190
[

tests/models/test_xcom_arg_map.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
pytestmark = pytest.mark.db_test
3030

3131

32+
@pytest.mark.skip_if_database_isolation_mode # Does not work in db isolation mode
3233
def test_xcom_map(dag_maker, session):
3334
results = set()
3435
with dag_maker(session=session) as dag:
@@ -64,6 +65,7 @@ def pull(value):
6465
assert results == {"aa", "bb", "cc"}
6566

6667

68+
@pytest.mark.skip_if_database_isolation_mode # Does not work in db isolation mode
6769
def test_xcom_map_transform_to_none(dag_maker, session):
6870
results = set()
6971

@@ -98,6 +100,7 @@ def c_to_none(v):
98100
assert results == {"a", "b", None}
99101

100102

103+
@pytest.mark.skip_if_database_isolation_mode # Does not work in db isolation mode
101104
def test_xcom_convert_to_kwargs_fails_task(dag_maker, session):
102105
results = set()
103106

@@ -145,6 +148,7 @@ def c_to_none(v):
145148
]
146149

147150

151+
@pytest.mark.skip_if_database_isolation_mode # Does not work in db isolation mode
148152
def test_xcom_map_error_fails_task(dag_maker, session):
149153
with dag_maker(session=session) as dag:
150154

@@ -241,6 +245,7 @@ def test_task_map_variant():
241245
assert task_map.variant == TaskMapVariant.DICT
242246

243247

248+
@pytest.mark.skip_if_database_isolation_mode # Does not work in db isolation mode
244249
def test_xcom_map_raise_to_skip(dag_maker, session):
245250
result = None
246251

@@ -285,6 +290,7 @@ def skip_c(v):
285290
assert result == ["a", "b"]
286291

287292

293+
@pytest.mark.skip_if_database_isolation_mode # Does not work in db isolation mode
288294
def test_xcom_map_nest(dag_maker, session):
289295
results = set()
290296

@@ -318,6 +324,7 @@ def pull(value):
318324
assert results == {"aa", "bb", "cc"}
319325

320326

327+
@pytest.mark.skip_if_database_isolation_mode # Does not work in db isolation mode
321328
def test_xcom_map_zip_nest(dag_maker, session):
322329
results = set()
323330

@@ -364,6 +371,7 @@ def convert_zipped(zipped):
364371
assert results == {"aa", "bbbb", "cccccc", "dddddddd"}
365372

366373

374+
@pytest.mark.skip_if_database_isolation_mode # Does not work in db isolation mode
367375
def test_xcom_concat(dag_maker, session):
368376
from airflow.models.xcom_arg import _ConcatResult
369377

tests/utils/test_task_handler_with_custom_formatter.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import pytest
2323

2424
from airflow.config_templates.airflow_local_settings import DEFAULT_LOGGING_CONFIG
25-
from airflow.models.dag import DAG
2625
from airflow.models.taskinstance import TaskInstance
2726
from airflow.operators.empty import EmptyOperator
2827
from airflow.utils.log.logging_mixin import set_context
@@ -59,11 +58,11 @@ def custom_task_log_handler_config():
5958

6059

6160
@pytest.fixture
62-
def task_instance():
63-
dag = DAG(DAG_ID, start_date=DEFAULT_DATE)
64-
task = EmptyOperator(task_id=TASK_ID, dag=dag)
65-
dagrun = dag.create_dagrun(
66-
DagRunState.RUNNING,
61+
def task_instance(dag_maker):
62+
with dag_maker(DAG_ID, start_date=DEFAULT_DATE, serialized=True) as dag:
63+
task = EmptyOperator(task_id=TASK_ID)
64+
dagrun = dag_maker.create_dagrun(
65+
state=DagRunState.RUNNING,
6766
execution_date=DEFAULT_DATE,
6867
run_type=DagRunType.MANUAL,
6968
data_interval=dag.timetable.infer_manual_data_interval(run_after=DEFAULT_DATE),
@@ -103,6 +102,7 @@ def test_custom_formatter_default_format(task_instance):
103102
assert_prefix_once(task_instance, "")
104103

105104

105+
@pytest.mark.skip_if_database_isolation_mode # Does not work in db isolation mode
106106
@conf_vars({("logging", "task_log_prefix_template"): "{{ ti.dag_id }}-{{ ti.task_id }}"})
107107
def test_custom_formatter_custom_format_not_affected_by_config(task_instance):
108108
"""Certifies that the prefix is only added once, even after repeated calls"""

0 commit comments

Comments
 (0)