-
Notifications
You must be signed in to change notification settings - Fork 53
Wcc Endpoints + integration tests #922
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Wcc Endpoints + integration tests #922
Conversation
✅ Deploy Preview for neo4j-graph-data-science-client canceled.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces integration tests for WCC (Weakly Connected Components) endpoints as part of GDSA-109. The implementation adds comprehensive Arrow Flight client functionality and testing infrastructure to support both Cypher and Arrow-based WCC operations.
Key changes include:
- Implementation of Arrow Flight client architecture with authentication and middleware support
- Addition of V2 API clients for job management, mutations, and write-back operations
- Integration test setup using testcontainers for both Neo4j and GDS Session environments
- Complete WCC endpoint implementations for both Cypher and Arrow protocols
Reviewed Changes
Copilot reviewed 25 out of 33 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
requirements/dev/dev.txt | Adds testcontainers dependency for integration testing |
mypy.ini | Enables pydantic mypy plugin for better type checking |
graphdatascience/arrow_client/ | Core Arrow Flight client implementation with authentication and middleware |
graphdatascience/arrow_client/v2/ | V2 API clients for jobs, mutations, data mapping, and write-back operations |
graphdatascience/procedure_surface/arrow/ | WCC Arrow endpoints implementation |
graphdatascience/tests/unit/arrow_client/ | Unit tests for Arrow client components |
graphdatascience/tests/integrationV2/ | Integration tests for both Cypher and Arrow WCC endpoints with testcontainer setup |
Comments suppressed due to low confidence (4)
graphdatascience/tests/unit/arrow_client/middleware/test_auth_middleware.py:20
- The parameter type annotation is incorrect. The fixture parameter should be
ArrowAuthentication
notMock
sincemock_auth
fixture returns anArrowAuthentication
instance.
def auth_middleware(mock_auth: Mock) -> AuthMiddleware:
graphdatascience/tests/integrationV2/procedure_surface/cypher/test_wcc_cypher_endpoints.py:40
- The parameter type annotation is incorrect. The parameter should be
WccCypherEndpoints
notWccArrowEndpoints
since this test file is for Cypher endpoints.
def test_wcc_stats(wcc_endpoints: WccArrowEndpoints, sample_graph: Graph) -> None:
graphdatascience/tests/integrationV2/procedure_surface/cypher/test_wcc_cypher_endpoints.py:51
- The parameter type annotation is incorrect. The parameter should be
WccCypherEndpoints
notWccArrowEndpoints
since this test file is for Cypher endpoints.
def test_wcc_stream(wcc_endpoints: WccArrowEndpoints, sample_graph: Graph) -> None:
graphdatascience/tests/integrationV2/procedure_surface/cypher/test_wcc_cypher_endpoints.py:62
- The parameter type annotation is incorrect. The parameter should be
WccCypherEndpoints
notWccArrowEndpoints
since this test file is for Cypher endpoints.
def test_wcc_mutate(wcc_endpoints: WccArrowEndpoints, sample_graph: Graph) -> None:
graphdatascience/procedure_surface/arrow/arrow_wcc_endpoints.py
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
very clean approach indeed ⭐
graphdatascience/tests/integrationV2/procedure_surface/arrow/conftest.py
Outdated
Show resolved
Hide resolved
graphdatascience/tests/integrationV2/procedure_surface/arrow/conftest.py
Outdated
Show resolved
Hide resolved
graphdatascience/tests/integrationV2/procedure_surface/cypher/conftest.py
Outdated
Show resolved
Hide resolved
f6a4046
to
b974a2d
Compare
Part of GDSA-109
Based on #918