From 1c78186a8fc608834a87c0dea8de06d63b32cea3 Mon Sep 17 00:00:00 2001 From: Sebastian Daum Date: Tue, 26 Mar 2024 13:53:16 +0100 Subject: [PATCH] fix: skip apache beam pipeline options if value is set to false --- airflow/providers/apache/beam/hooks/beam.py | 2 ++ tests/providers/apache/beam/hooks/test_beam.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/airflow/providers/apache/beam/hooks/beam.py b/airflow/providers/apache/beam/hooks/beam.py index 112678ac3db7b..b91e38243999a 100644 --- a/airflow/providers/apache/beam/hooks/beam.py +++ b/airflow/providers/apache/beam/hooks/beam.py @@ -81,6 +81,8 @@ def beam_options_to_args(options: dict) -> list[str]: for attr, value in options.items(): if value is None or (isinstance(value, bool) and value): args.append(f"--{attr}") + elif isinstance(value, bool) and not value: + continue elif isinstance(value, list): args.extend([f"--{attr}={v}" for v in value]) else: diff --git a/tests/providers/apache/beam/hooks/test_beam.py b/tests/providers/apache/beam/hooks/test_beam.py index 8e2dc41a08e9d..9489e6ca8a155 100644 --- a/tests/providers/apache/beam/hooks/test_beam.py +++ b/tests/providers/apache/beam/hooks/test_beam.py @@ -443,7 +443,7 @@ class TestBeamOptionsToArgs: ({"key": "val"}, ["--key=val"]), ({"key": None}, ["--key"]), ({"key": True}, ["--key"]), - ({"key": False}, ["--key=False"]), + ({"key": False}, []), ({"key": ["a", "b", "c"]}, ["--key=a", "--key=b", "--key=c"]), ], )