Skip to content

Commit 549f90a

Browse files
committed
Fix compat-test failures from asserting on unreleased MessageQueueTrigger.queue
Provider distributions must keep passing tests against previously released Airflow versions. BaseEventTrigger.queue is a new attribute added by this branch, so any Airflow release before it ships doesn't have the attribute at all, and BaseTrigger has no class-level default either in those older releases. Assertions on trigger.queue therefore raised AttributeError under the 3.0.6/3.1.8/3.3.0 compat test jobs. Guard with getattr(trigger, "queue", None), matching the same pattern already used for this attribute in airflow.serialization.encoders.
1 parent 24bde08 commit 549f90a

2 files changed

Lines changed: 6 additions & 5 deletions

File tree

providers/common/messaging/tests/unit/common/messaging/triggers/test_msg_queue.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -229,14 +229,15 @@ def test_scheme_only_initialization(self):
229229
def test_deprecated_queue_param_does_not_set_triggerer_queue(self):
230230
"""Regression test: the deprecated `queue` (broker URI) must not leak into the unrelated
231231
`BaseEventTrigger.queue` attribute used for triggerer queue assignment (see #71346), or the
232-
resulting Trigger row would never be picked up by any triggerer."""
232+
resulting Trigger row would never be picked up by any triggerer. `BaseEventTrigger.queue` is
233+
only present on Airflow versions that ship #71346, hence the `getattr` default."""
233234
trigger = MessageQueueTrigger(queue=PROVIDER_1_QUEUE)
234235
assert trigger.queue_uri == PROVIDER_1_QUEUE
235-
assert trigger.queue is None
236+
assert getattr(trigger, "queue", None) is None
236237

237238
def test_scheme_param_does_not_set_triggerer_queue(self):
238239
trigger = MessageQueueTrigger(scheme=PROVIDER_2_SCHEME)
239-
assert trigger.queue is None
240+
assert getattr(trigger, "queue", None) is None
240241

241242
def test_scheme_provider_matching(self):
242243
"""Test that scheme matching works correctly."""

providers/ibm/mq/tests/unit/ibm/mq/queues/test_mq.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ def test_message_queue_trigger_with_scheme(self):
228228
mq_conn_id="mq_default",
229229
queue_name="MY.QUEUE.NAME",
230230
)
231-
assert trigger.queue is None
231+
assert getattr(trigger, "queue", None) is None
232232
assert trigger.scheme == "ibmmq"
233233
assert isinstance(trigger.trigger, AwaitMessageTrigger)
234234
assert trigger.trigger.mq_conn_id == "mq_default"
@@ -242,7 +242,7 @@ def test_message_queue_trigger_with_deprecated_queue(self):
242242
trigger = MessageQueueTrigger(queue="ibmmq://mq_default/MY.QUEUE.NAME", open_options=32)
243243
assert trigger.scheme is None
244244
assert trigger.queue_uri == "ibmmq://mq_default/MY.QUEUE.NAME"
245-
assert trigger.queue is None
245+
assert getattr(trigger, "queue", None) is None
246246
assert isinstance(trigger.trigger, AwaitMessageTrigger)
247247
assert trigger.trigger.mq_conn_id == "mq_default"
248248
assert trigger.trigger.queue_name == "MY.QUEUE.NAME"

0 commit comments

Comments
 (0)