test(s3): cover batch delete default force header#130
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This change adds focused coverage for the batch delete path introduced by the RustFS force-delete support.
The recent
rm --purgework already verified that batched deletes send the custom header when force delete is enabled, but it did not cover the opposite branch.Without this test, a regression could silently start sending the RustFS-specific header on ordinary batch deletes.
Root cause
The feature added conditional header wiring in both single-object and batch delete requests.
Only the positive batch case was exercised, so the default path remained unverified.
Fix
Add a unit test in
rc-s3that issuesdelete_objects_with_optionswithDeleteRequestOptions::default()and asserts thatx-rustfs-force-deleteis omitted.The change stays within the recent delete-path work and does not alter runtime behavior.
Validation
cargo test -p rc-s3 delete_objects_without_force_delete_omits_rustfs_headercargo fmt --all --checkcargo clippy --workspace --all-targets -- -D warningscargo test --workspaceNotes
make pre-commitis not available in this repository, so validation used the equivalent CI commands defined inAGENTS.mdand.github/workflows/ci.yml.