From 19ec48d8861840779bcaf71d22a236983cd1cc5c Mon Sep 17 00:00:00 2001 From: overtrue Date: Mon, 13 Apr 2026 22:04:47 +0800 Subject: [PATCH] test(s3): cover empty delete batch --- crates/s3/src/client.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/crates/s3/src/client.rs b/crates/s3/src/client.rs index 75f0db5..8322aae 100644 --- a/crates/s3/src/client.rs +++ b/crates/s3/src/client.rs @@ -3195,6 +3195,19 @@ mod tests { assert_eq!(request.headers().get("x-rustfs-force-delete"), Some("true")); } + #[tokio::test] + async fn delete_objects_with_empty_keys_skips_request() { + let (client, request_receiver) = test_s3_client(None); + + let deleted = client + .delete_objects_with_options("bucket", Vec::new(), DeleteRequestOptions::default()) + .await + .expect("empty delete batch should succeed"); + + assert!(deleted.is_empty()); + request_receiver.expect_no_request(); + } + #[tokio::test] async fn read_next_part_fills_buffer_until_eof() { use tokio::io::AsyncWriteExt;