bujjibabukatta opened a new pull request, #70264:
URL: https://github.com/apache/airflow/pull/70264
## What
The `port` field on the Connection REST API model (`ConnectionBody`) accepted
any integer, including negative numbers, `0`, and values above `65535`.
This adds a `ge=1, le=65535` constraint so the API rejects out-of-range
port numbers with a `422` instead of silently persisting them.
## Why
A TCP/UDP port is only valid in the range 1-65535. Before this change,
`POST /connections` and `PATCH /connections` would happily accept things
like `port: -1` or `port: 99999999`, storing a value that no downstream
hook could actually connect with, and only surfacing as a confusing
runtime error much later.
## How
- `airflow-core/src/airflow/api_fastapi/core_api/datamodels/connections.py`
— added `ge=1, le=65535` to the `port` field on `ConnectionBody`. Since
`ConnectionTestRequestBody` and the PATCH partial model both derive from
`ConnectionBody`, this covers create, update, and connection-test paths
with a single change.
## Tests
- `test_post_should_respond_422_for_invalid_port` — parametrized over
`[-1, 0, 65536, 99999, 123456789]`
- `test_post_should_respond_201_for_valid_port` — parametrized over
`[1, 22, 8080, 65535]`
- `test_patch_should_respond_422_for_invalid_port` — same invalid set via
PATCH
Full existing suite (145 tests) still passes; `ruff format` / `ruff check`
clean on both changed files.
Closes: #68382
--
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]