Skip to content

Test external CryptoProvider integration through public S3 APIs - #873

Draft
RanaPriyansh wants to merge 1 commit into
apache:mainfrom
RanaPriyansh:test-external-crypto-provider-760
Draft

RanaPriyansh wants to merge 1 commit into
apache:mainfrom
RanaPriyansh:test-external-crypto-provider-760

Conversation

@RanaPriyansh

Copy link
Copy Markdown

Which issue does this PR close?

Related to #760. This PR covers external-provider integration tests.

Rationale for this change

Existing provider tests do not show that an external implementation works through the public object_store client API.

What changes are included in this PR?

Add a separate downstream test crate with an external Ring provider and an in-memory HTTP connector.
Capture a signed PUT through the public AWS client and compare its signature with independent Ring operations.
Check digest and HMAC failure propagation, custom-provider selection, bundled-provider fallback, and aws-base without a provider.
Add CI commands for the separate crate. The fixture makes no cloud requests.

Validation on Ubuntu 24.04 with Rust 1.97.0:

  • All 15 provider cases pass across three configurations.
  • Root default tests pass 135 cases, with three ignored.
  • Root Ring tests pass 271 cases, with six ignored.
  • All three fixture and eight root Clippy commands pass with warnings denied.
  • Formatting, current spelling, and source/lock integrity checks pass.

The first job passed tests and Clippy but failed spelling with typos 1.37.0 on four unchanged identifiers.
The continuation passed formatting, typos 1.51.1, and source/lock integrity.
Its additional dependency audit failed because Cargo's CLI feature resolution adds nine TLS packages outside the persisted workspace lock.
Their recorded versions match the first job's compilation log. Both job failures remain visible.

Are there any user-facing changes?

No public API changes.

Codex used.

@alamb

alamb commented Oct 16, 2026

Copy link
Copy Markdown
Contributor

You have many PRs open: https://github.com/apache/arrow-rs-object-store/pulls?q=is%3Apr+state%3Aopen+author%3ARanaPriyansh

Which one do you think is the most imporant to review first?

@alamb

alamb commented Oct 16, 2026

Copy link
Copy Markdown
Contributor

Marking as draft per #873 (comment) so i can find the PRs that need attention. Thank you

@RanaPriyansh

Copy link
Copy Markdown
Author

Please review #861 first. It fixes the GCS upload credential fetch reported in #520 when skip_signature=true.

The production change replaces two lines with existing helpers. The regression checks credential calls and Authorization headers with signing enabled and disabled. The public API is unchanged.

The other PRs can remain drafts while this one receives review.

Codex used.

@alamb alamb added the Prolific Author author has opened PRs in many repositories in the last month label Oct 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Prolific Author author has opened PRs in many repositories in the last month

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants