apache / apache/arrow-rs-object-store
Integration tests for CryptoProvider and DigestContext
- Dominant language
- Rust
- Stars
- 322
- Forks
- 212
- Avg merge
- 5d 2h
- Merged PRs (30d)
- 10
Description
**Is your feature request related to a problem or challenge? Please describe what you are trying to do.**
@goffrie introduced a pluggable crypto API (original authored by @tustvold) in this PR:
- https://github.com/apache/arrow-rs-object-store/pull/707
Specifically, I am referring to the contents of src/client/crypto.rs and the `CryptoProvider` and `DigestContext` traits
The traits are tested, in the sense that there are default providers used, but we don't have any integration tests that show either how to implement these traits externally nor show that you can successfully do so and use the object_store apis
**Describe the solution you'd like**
Ideally as separate PRs
1. An overview of pluggable crypto in the lib.rs documentation
2. An doc comment example showing how to implement and use a Crypto provider
3. Perhaps an integration test showing how to implement a Cyrpto provider and use it to make actual requests
**Describe alternatives you've considered**
**Additional context**
- related to https://github.com/apache/arrow-rs-object-store/issues/759
Contributor guide
Research direction
Start with src/client/crypto.rs and the CryptoProvider and DigestContext traits, then read the existing default-provider coverage and lib.rs documentation. Add an integration test that implements the traits externally and uses the object_store APIs for actual requests; done means the example compiles and the requests succeed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- security, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100