bujjibabukatta opened a new pull request, #70426:
URL: https://github.com/apache/airflow/pull/70426

   ## 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, and
   regenerates the committed OpenAPI spec to match.
   
   ## 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.
   - 
`airflow-core/src/airflow/api_fastapi/core_api/openapi/v2-rest-api-generated.yaml`
     — regenerated to reflect the new `minimum`/`maximum`/`description` on
     `port` in both `ConnectionBody` and `ConnectionTestRequestBody`.
   
   ## 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 Python files; regenerated OpenAPI spec validated
   against the OpenAPI 3.1 schema.
   
   Closes: #70264


-- 
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