You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by js...@apache.org on 2026/05/01 21:39:12 UTC

(airflow) branch chart/v1-2x-test updated: [chart/v1-2x-test] Add test coverage for per-set queue in default KEDA query in Helm chart (#65486) (#66241)

This is an automated email from the ASF dual-hosted git repository.

jscheffl pushed a commit to branch chart/v1-2x-test
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/chart/v1-2x-test by this push:
     new f2addc59ad3 [chart/v1-2x-test] Add test coverage for per-set queue in default KEDA query in Helm chart (#65486) (#66241)
f2addc59ad3 is described below

commit f2addc59ad3663ca5c29c6d6825171d50f930dfb
Author: github-actions[bot] <41...@users.noreply.github.com>
AuthorDate: Fri May 1 23:39:05 2026 +0200

    [chart/v1-2x-test] Add test coverage for per-set queue in default KEDA query in Helm chart (#65486) (#66241)
    
    * Add test coverage for per-set queue in default KEDA query in Helm chart
    
    * Rename test to `test_overwrite_queue_keda_query` according to review
    
    
    
    * Add default parameter
    
    * Also assert parent keda override flows through in test_overwrite_queue_keda_query
    
    * Split test_overwrite_queue_keda_query into focused cases per review feedback
    
    * Drop redundant test_overwrite_parent_keda_propagates_to_sets per review
    
    ---------
    (cherry picked from commit d24784f3ab37fcf29baf7b1d7f12c5b04cfcb8bd)
    
    Co-authored-by: Jorge Rocamora <33...@users.noreply.github.com>
    Co-authored-by: Przemysław Mirowski <17...@users.noreply.github.com>
---
 .../helm_tests/airflow_core/test_worker_sets.py    | 58 ++++++++++++++++++++++
 1 file changed, 58 insertions(+)

diff --git a/helm-tests/tests/helm_tests/airflow_core/test_worker_sets.py b/helm-tests/tests/helm_tests/airflow_core/test_worker_sets.py
index a2695fe39e4..3a3c035ec8d 100644
--- a/helm-tests/tests/helm_tests/airflow_core/test_worker_sets.py
+++ b/helm-tests/tests/helm_tests/airflow_core/test_worker_sets.py
@@ -1633,6 +1633,64 @@ class TestWorkerSets:
 
         assert jmespath.search("spec.triggers[0].metadata.query", docs[0]) == "test"
 
+    @pytest.mark.parametrize(
+        ("queue", "expected_in_query"),
+        [
+            ("cpu", "queue IN ('cpu')"),
+            ("highcpu,highmem", "queue IN ('highcpu','highmem')"),
+        ],
+    )
+    def test_overwrite_queue_keda_query(self, queue, expected_in_query):
+        docs = render_chart(
+            name="test",
+            values={
+                "workers": {
+                    "celery": {
+                        "keda": {"enabled": True},
+                        "enableDefault": False,
+                        "sets": [{"name": "worker-set", "queue": queue}],
+                    },
+                },
+            },
+            show_only=["templates/workers/worker-kedaautoscaler.yaml"],
+        )
+
+        assert len(docs) == 1
+        query = jmespath.search("spec.triggers[0].metadata.query", docs[0])
+        assert expected_in_query in query
+        assert "queue IN ('default')" not in query
+
+    @pytest.mark.parametrize(
+        ("queue", "expected_in_query"),
+        [
+            ("cpu", "queue IN ('cpu')"),
+            ("highcpu,highmem", "queue IN ('highcpu','highmem')"),
+        ],
+    )
+    def test_overwrite_queue_keda_query_with_default(self, queue, expected_in_query):
+        docs = render_chart(
+            name="test",
+            values={
+                "workers": {
+                    "celery": {
+                        "keda": {"enabled": True},
+                        "enableDefault": True,
+                        "sets": [{"name": "worker-set", "queue": queue}],
+                    },
+                },
+            },
+            show_only=["templates/workers/worker-kedaautoscaler.yaml"],
+        )
+
+        assert len(docs) == 2
+        by_name = {d["metadata"]["name"]: d for d in docs}
+        set_query = jmespath.search("spec.triggers[0].metadata.query", by_name["test-worker-worker-set"])
+        default_query = jmespath.search("spec.triggers[0].metadata.query", by_name["test-worker"])
+        assert expected_in_query in set_query
+        assert "queue IN ('default')" not in set_query
+        assert "queue IN ('default')" in default_query
+        assert expected_in_query not in default_query
+
     @pytest.mark.parametrize(
         "workers_values",
         [