diff --git a/crates/s3/src/client.rs b/crates/s3/src/client.rs index 8425710..ecd3d1a 100644 --- a/crates/s3/src/client.rs +++ b/crates/s3/src/client.rs @@ -3593,6 +3593,29 @@ mod tests { } } + #[tokio::test] + async fn delete_bucket_maps_other_failures_to_network() { + let response = http::Response::builder() + .status(500) + .header("x-amz-error-code", "InternalError") + .body(SdkBody::from( + r#" + + InternalError + Something went wrong. +"#, + )) + .expect("build delete bucket response"); + let (client, _request_receiver) = test_s3_client(Some(response)); + + let result = client.delete_bucket("bucket").await; + + match result { + Err(Error::Network(message)) => assert!(message.contains("InternalError")), + other => panic!("Expected Network for delete bucket failure, got: {other:?}"), + } + } + #[tokio::test] async fn delete_objects_with_force_delete_sets_rustfs_header() { let response = http::Response::builder()