amoghrajesh opened a new pull request, #58725:
URL: https://github.com/apache/airflow/pull/58725
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<!--
Thank you for contributing! Please make sure that your code changes
are covered with tests. And in case of new features or big changes
remember to adjust the documentation.
Feel free to ping committers for the review!
In case of an existing issue, reference it using one of the following:
closes: #ISSUE
related: #ISSUE
How to write a good git commit message:
http://chris.beams.io/posts/git-commit/
-->
Some contributors might have really old versions of docker and compose.
Adding a check similar to what is done by _breeze_ to make it easier to
contribute tests here.
```shell script
(airflow) ➜ task-sdk-integration-tests git:(main) ✗ uv run pytest
tests/task_sdk_tests/test_asset_event_operations.py -s
Built apache-airflow-task-sdk @
file:///Users/amoghdesai/Documents/OSS/repos/airflow/task-sdk
Built apache-airflow-core @
file:///Users/amoghdesai/Documents/OSS/repos/airflow/airflow-core
Built apache-airflow-task-sdk-integration-tests @
file:///Users/amoghdesai/Documents/OSS/repos/airflow/task-sdk-integration-tests
Built apache-airflow-providers-standard @
file:///Users/amoghdesai/Documents/OSS/repos/airflow/providers/standard
Built apache-airflow @
file:///Users/amoghdesai/Documents/OSS/repos/airflow
Uninstalled 7 packages in 16ms
Installed 8 packages in 4ms
Checking Docker requirements...
Docker version 28.3.3 meets requirements
Docker Compose version 2.39.2 meets requirements
Installing apache-airflow-task-sdk via pytest_sessionstart...
Installing from: /Users/amoghdesai/Documents/OSS/repos/airflow/task-sdk
Installing to current UV environment via ['--editable',
'/Users/amoghdesai/Documents/OSS/repos/airflow/task-sdk']
Current Python:
/Users/amoghdesai/Documents/OSS/repos/airflow/.venv/bin/python3
Running command: uv pip install --editable
/Users/amoghdesai/Documents/OSS/repos/airflow/task-sdk
Using Python 3.13.3 environment at:
/Users/amoghdesai/Documents/OSS/repos/airflow/.venv
Resolved 126 packages in 300ms
Built apache-airflow-task-sdk @
file:///Users/amoghdesai/Documents/OSS/repos/airflow/task-sdk
Prepared 1 package in 85ms
Uninstalled 1 package in 0.91ms
Installed 1 package in 1ms
~ apache-airflow-task-sdk==1.2.0 (from
file:///Users/amoghdesai/Documents/OSS/repos/airflow/task-sdk)
Task SDK installed successfully to UV environment via pytest_sessionstart!
Verifying task Task installation via pytest_sessionstart...
✅ Task SDK import successful via pytest_sessionstart: 1.2.0
=====================================================================================================================================================
test session starts
=====================================================================================================================================================
platform darwin -- Python 3.13.3, pytest-9.0.0, pluggy-1.6.0 --
/Users/amoghdesai/Documents/OSS/repos/airflow/.venv/bin/python3
cachedir: .pytest_cache
rootdir:
/Users/amoghdesai/Documents/OSS/repos/airflow/task-sdk-integration-tests
configfile: pyproject.toml
plugins: time-machine-2.19.0, unordered-0.7.0, instafail-0.5.0,
timeouts-1.2.1, xdist-3.8.0, custom-exit-code-0.3.0, anyio-4.10.0, icdiff-0.9,
rerunfailures-15.1, cov-6.2.1, asyncio-1.3.0, kgb-7.2, mock-3.14.1,
requests-mock-1.12.1
asyncio: mode=Mode.STRICT, debug=False,
asyncio_default_fixture_loop_scope=None,
asyncio_default_test_loop_scope=function
setup timeout: 0.0s, execution timeout: 0.0s, teardown timeout: 0.0s
collected 2 items
tests/task_sdk_tests/test_asset_event_operations.py::test_asset_event_get
Docker compose already running. Using it instead of starting a new one!
In order to stop the running docker compose and start from scratch, run:
docker compose down
✅ Got auth token
Checking asset_producer_dag status...
Unpausing asset_producer_dag...
✅ asset_producer_dag unpaused
Triggering asset_producer_dag...
✅ asset_producer_dag triggered: manual__2025-11-26T13:57:50.467000+00:00
Waiting for asset_producer_dag to reach state 'success'...
Waiting for asset_producer_dag to reach 'success' (attempt 1/60, current
state: queued)
Waiting for asset_producer_dag to reach 'success' (attempt 2/60, current
state: running)
✅ asset_producer_dag reached state 'success'!
Getting task instance ID from asset_producer_dag...
✅ Found task instance ID: 019ac074-c916-7eb3-a42d-8b3e098da0a9
Getting asset events by name...
======================= Asset Event Get Response =======================
Response Type: AssetEventsResponse
Number of Events: 1
First Event ID: 1
First Event Asset Name: test_asset
First Event Asset URI: test://asset1/
First Event Timestamp: 2025-11-26 13:57:52.349060+00:00
========================================================================
✅ Asset event get test passed!
PASSED
tests/task_sdk_tests/test_asset_event_operations.py::test_asset_event_get_not_found
Getting asset events for non-existent asset...
================= Asset Event Get (Not Found) Response =================
Response Type: AssetEventsResponse
Number of Events: 0
========================================================================
✅ Asset event get (not found) test passed!
PASSED
=====================================================================================================================================================
2 passed in 25.13s
======================================================================================================================================================
```
<!-- Please keep an empty line above the dashes. -->
---
**^ Add meaningful description above**
Read the **[Pull Request
Guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#pull-request-guidelines)**
for more information.
In case of fundamental code changes, an Airflow Improvement Proposal
([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvement+Proposals))
is needed.
In case of a new dependency, check compliance with the [ASF 3rd Party
License Policy](https://www.apache.org/legal/resolved.html#category-x).
In case of backwards incompatible changes please leave a note in a
newsfragment file, named `{pr_number}.significant.rst` or
`{issue_number}.significant.rst`, in
[airflow-core/newsfragments](https://github.com/apache/airflow/tree/main/airflow-core/newsfragments).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]