Skip to content

[MCC-1476022] - Add Dry Publish Function#38

Merged
ibaig-mdsol merged 2 commits into
mainfrom
features/MCC-1476022_1
May 23, 2026
Merged

[MCC-1476022] - Add Dry Publish Function#38
ibaig-mdsol merged 2 commits into
mainfrom
features/MCC-1476022_1

Conversation

@slingampalli-mdsol

@slingampalli-mdsol slingampalli-mdsol commented May 23, 2026

Copy link
Copy Markdown
Contributor

[MCC-1476022] - Add Dry Publish Function

Changes

  • Added dry publish feature
    • Introduced new DTOs/models for dry publish (PublishRequest, DryPublishResponse, DryPublishResult) and exported them appropriately
    • Added dry_publish() to the service interface, default service implementation, and client façade
    • added mapper dry_publish_response_to_domain.
    • Implemented Arrow Flight transport dry_publish_dataset() using do_put, schema normalization, and two-phase metadata parsing
    • added comprehensive unit tests.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a “dry publish” (validation-only publish) flow to the DataConnect Python SDK, spanning transport → service → client layers, and introduces a domain result model plus unit tests to validate request/response mapping.

Changes:

  • Introduced new DTOs/models for dry publish (PublishRequest, DryPublishResponse, DryPublishResult) and exported them appropriately.
  • Added dry_publish() to the service interface, default service implementation, and client façade; added mapper dry_publish_response_to_domain.
  • Implemented Arrow Flight transport dry_publish_dataset() using do_put, schema normalization, and two-phase metadata parsing; added comprehensive unit tests.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
tests/test_dry_publish.py New unit tests covering type normalization, mapping, service request building/error translation, and transport behavior.
dataconnect/transport/models.py Adds transport-layer DTOs for dry publish request/response.
dataconnect/transport/base.py Extends the transport ABC with dry_publish_dataset().
dataconnect/transport/arrow_flight/transport.py Implements dry_publish_dataset() plus Arrow type normalization helper.
dataconnect/transport/init.py Exposes newly added transport DTOs in the public transport package API.
dataconnect/service/mappers.py Adds mapping from DryPublishResponse to domain DryPublishResult.
dataconnect/service/default.py Adds DefaultDataConnectService.dry_publish() building config JSON and delegating to transport.
dataconnect/service/base.py Extends the service interface with dry_publish().
dataconnect/models.py Introduces domain model DryPublishResult.
dataconnect/client.py Adds DataConnectClient.dry_publish() delegating to the service.
dataconnect/init.py Exports DryPublishResult at package top-level.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread dataconnect/transport/arrow_flight/transport.py
Comment thread dataconnect/transport/arrow_flight/transport.py Outdated
Comment thread dataconnect/service/default.py Outdated
Comment thread dataconnect/transport/base.py
@ibaig-mdsol
ibaig-mdsol merged commit 4686d15 into main May 23, 2026
3 checks passed
@ibaig-mdsol
ibaig-mdsol deleted the features/MCC-1476022_1 branch May 23, 2026 02:44
@slingampalli-mdsol slingampalli-mdsol changed the title [MCC-1476022] - Create Dry Publish validation [MCC-1476022] - Create Dry Publish Function May 23, 2026
@slingampalli-mdsol slingampalli-mdsol changed the title [MCC-1476022] - Create Dry Publish Function [MCC-1476022] - Add Dry Publish Function May 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants