This is an automated email from the ASF dual-hosted git repository.
shahar1 pushed a commit to branch airflow-ctl/v0-1-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/airflow-ctl/v0-1-test by this
push:
new c3732d078b0 [airflow-ctl/v0-1-test] Fix incorrect asset queued-event
endpoint paths in airflowctl (#70461) (#76044)
c3732d078b0 is described below
commit c3732d078b0a4d9cceefe93e29dc5cd92906a976
Author: Shahar Epstein <[email protected]>
AuthorDate: Fri Oct 30 17:56:05 2026 +0200
[airflow-ctl/v0-1-test] Fix incorrect asset queued-event endpoint paths in
airflowctl (#70461) (#76044)
(cherry picked from commit 15df3aaac07284aa4d4afecd242aa65cd9685761)
Co-authored-by: Henry Chen <[email protected]>
---
airflow-ctl/src/airflowctl/api/operations.py | 6 ++---
.../tests/airflow_ctl/api/test_operations.py | 31 ++++++++++++++++++++++
2 files changed, 34 insertions(+), 3 deletions(-)
diff --git a/airflow-ctl/src/airflowctl/api/operations.py
b/airflow-ctl/src/airflowctl/api/operations.py
index 5ab5d87fdae..33e3807e4aa 100644
--- a/airflow-ctl/src/airflowctl/api/operations.py
+++ b/airflow-ctl/src/airflowctl/api/operations.py
@@ -328,17 +328,17 @@ class AssetsOperations(BaseOperations):
def delete_queued_events(self, asset_id: str) -> str | ServerResponseError:
"""Delete a queued event for an asset."""
- self.client.delete(f"assets/{asset_id}/queuedEvents/")
+ self.client.delete(f"assets/{asset_id}/queuedEvents")
return asset_id
def delete_dag_queued_events(self, dag_id: str, before: str) -> str |
ServerResponseError:
"""Delete a queued event for a Dag."""
- self.client.delete(f"assets/dags/{dag_id}/queuedEvents",
params={"before": before})
+ self.client.delete(f"dags/{dag_id}/assets/queuedEvents",
params={"before": before})
return dag_id
def delete_queued_event(self, dag_id: str, asset_id: str) -> str |
ServerResponseError:
"""Delete a queued event for a Dag."""
-
self.client.delete(f"assets/dags/{dag_id}/assets/{asset_id}/queuedEvents/")
+ self.client.delete(f"dags/{dag_id}/assets/{asset_id}/queuedEvents")
return asset_id
def list_state_store(self, asset_id: str) ->
AssetStateStoreCollectionResponse | ServerResponseError:
diff --git a/airflow-ctl/tests/airflow_ctl/api/test_operations.py
b/airflow-ctl/tests/airflow_ctl/api/test_operations.py
index 31985a866bc..e1848c26509 100644
--- a/airflow-ctl/tests/airflow_ctl/api/test_operations.py
+++ b/airflow-ctl/tests/airflow_ctl/api/test_operations.py
@@ -594,6 +594,37 @@ class TestAssetsOperations:
response = client.assets.clear_state_store(self.asset_id)
assert response == self.asset_id
+ def test_delete_queued_events(self):
+ def handle_request(request: httpx.Request) -> httpx.Response:
+ assert request.method == "DELETE"
+ assert request.url.path ==
f"/api/v2/assets/{self.asset_id}/queuedEvents"
+ return httpx.Response(204)
+
+ client = make_api_client(transport=httpx.MockTransport(handle_request))
+ response = client.assets.delete_queued_events(asset_id=self.asset_id)
+ assert response == self.asset_id
+
+ def test_delete_dag_queued_events(self):
+ def handle_request(request: httpx.Request) -> httpx.Response:
+ assert request.method == "DELETE"
+ assert request.url.path ==
f"/api/v2/dags/{self.dag_id}/assets/queuedEvents"
+ assert request.url.params["before"] == self.before
+ return httpx.Response(204)
+
+ client = make_api_client(transport=httpx.MockTransport(handle_request))
+ response = client.assets.delete_dag_queued_events(dag_id=self.dag_id,
before=self.before)
+ assert response == self.dag_id
+
+ def test_delete_queued_event(self):
+ def handle_request(request: httpx.Request) -> httpx.Response:
+ assert request.method == "DELETE"
+ assert request.url.path ==
f"/api/v2/dags/{self.dag_id}/assets/{self.asset_id}/queuedEvents"
+ return httpx.Response(204)
+
+ client = make_api_client(transport=httpx.MockTransport(handle_request))
+ response = client.assets.delete_queued_event(dag_id=self.dag_id,
asset_id=self.asset_id)
+ assert response == self.asset_id
+
class TestBackfillOperations:
backfill_id: NonNegativeInt = 1