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]

Reply via email to