Skip to content

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

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

DarthMax
Copy link
Contributor

@DarthMax DarthMax commented Jul 22, 2025

Part of GDSA-109
Based on #918

Copy link

netlify bot commented Jul 22, 2025

Deploy Preview for neo4j-graph-data-science-client canceled.

Name Link
🔨 Latest commit ced69c0
🔍 Latest deploy log https://app.netlify.com/projects/neo4j-graph-data-science-client/deploys/6880f02ce44f2b0008191a79

@DarthMax DarthMax changed the title Wcc Endpoints integration tets Wcc Endpoints integration tests Jul 22, 2025
@DarthMax DarthMax requested a review from Copilot July 23, 2025 08:21
Copy link

@Copilot Copilot AI left a 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 not Mock since mock_auth fixture returns an ArrowAuthentication 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 not WccArrowEndpoints 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 not WccArrowEndpoints 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 not WccArrowEndpoints since this test file is for Cypher endpoints.
def test_wcc_mutate(wcc_endpoints: WccArrowEndpoints, sample_graph: Graph) -> None:

Copy link
Contributor

@FlorentinD FlorentinD left a 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 ⭐

@DarthMax DarthMax changed the title Wcc Endpoints integration tests Wcc Endpoints + integration tests Jul 23, 2025
@DarthMax DarthMax force-pushed the arrow_wcc_endpoints_integration_tests branch from f6a4046 to b974a2d Compare July 23, 2025 13:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants