From dcdaa37b84d03ddbfaa358dea6cb5d9cc6517ef3 Mon Sep 17 00:00:00 2001 From: Zhengchao An Date: Mon, 24 Aug 2026 22:24:37 +0800 Subject: [PATCH] fix(e2e): box delete object errors (#6534) --- crates/e2e_test/src/object_lock/common.rs | 4 ++-- crates/e2e_test/src/object_lock/object_lock_test.rs | 10 +++++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/crates/e2e_test/src/object_lock/common.rs b/crates/e2e_test/src/object_lock/common.rs index a938756a4..f63fefd3b 100644 --- a/crates/e2e_test/src/object_lock/common.rs +++ b/crates/e2e_test/src/object_lock/common.rs @@ -238,7 +238,7 @@ pub async fn delete_object_with_bypass( key: &str, version_id: Option<&str>, bypass_governance: bool, -) -> Result<(), SdkError> { +) -> Result<(), Box>> { let mut request = client .delete_object() .bucket(bucket) @@ -249,7 +249,7 @@ pub async fn delete_object_with_bypass( request = request.version_id(vid); } - request.send().await?; + request.send().await.map_err(Box::new)?; info!("Deleted object {} (bypass: {})", key, bypass_governance); Ok(()) } diff --git a/crates/e2e_test/src/object_lock/object_lock_test.rs b/crates/e2e_test/src/object_lock/object_lock_test.rs index f7e2cb6e8..ddc733fbc 100644 --- a/crates/e2e_test/src/object_lock/object_lock_test.rs +++ b/crates/e2e_test/src/object_lock/object_lock_test.rs @@ -24,6 +24,8 @@ //! - PutObjectRetention modification restrictions //! - Default bucket retention is applied to new objects +use std::borrow::Borrow; + use super::common::*; use aws_sdk_s3::Client; use aws_sdk_s3::error::{ProvideErrorMetadata, SdkError}; @@ -70,19 +72,21 @@ fn retention_timestamp(days: i64) -> aws_sdk_s3::primitives::DateTime { .expect("retention timestamp should parse") } -fn assert_access_denied(result: Result>, context: &str) +fn assert_access_denied(result: Result, context: &str) where T: std::fmt::Debug, E: ProvideErrorMetadata + std::fmt::Debug, + R: Borrow> + std::fmt::Debug, { let error = result.expect_err(context); + let sdk_error = error.borrow(); assert_eq!( - error.raw_response().map(|response| response.status().as_u16()), + sdk_error.raw_response().map(|response| response.status().as_u16()), Some(403), "{context}: expected HTTP 403, got: {error:?}" ); assert_eq!( - error.as_service_error().and_then(ProvideErrorMetadata::code), + sdk_error.as_service_error().and_then(ProvideErrorMetadata::code), Some("AccessDenied"), "{context}: expected AccessDenied, got: {error:?}" );