fix(providers-weaviate): honor connection port for HTTP, add param tests #57742
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
closes: #55433
related: #55457
This PR takes over and finalizes the previous fix (see PR #55457) addressing the bug reported in Issue #55433: WeaviateHook ignored the port from the Airflow Connection for non-HTTPS setups and always used 80.
According to @sjyangkevin 's suggestion, this PR preserves the original code fix (changing http_port=conn.port or 443 if http_secure else 80 to http_port=conn.port or (443 if http_secure else 80)) and adds a parameterized unit test that covers four scenarios to prevent regressions:
No port and http_secure=False → 80
No port and http_secure=True → 443
port=8000 and http_secure=False → 8000
port=8000 and http_secure=True → 8000
Tests pass locally, confirming the expected behavior.
^ Add meaningful description above
Read the Pull Request Guidelines for more information.
In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragment file, named
{pr_number}.significant.rstor{issue_number}.significant.rst, in airflow-core/newsfragments.