fix(e2e): box delete object errors (#6534)

This commit is contained in:
Zhengchao An
2026-08-24 22:24:37 +08:00
committed by GitHub
parent ea07c781c4
commit dcdaa37b84
2 changed files with 9 additions and 5 deletions
+2 -2
View File
@@ -238,7 +238,7 @@ pub async fn delete_object_with_bypass(
key: &str, key: &str,
version_id: Option<&str>, version_id: Option<&str>,
bypass_governance: bool, bypass_governance: bool,
) -> Result<(), SdkError<DeleteObjectError>> { ) -> Result<(), Box<SdkError<DeleteObjectError>>> {
let mut request = client let mut request = client
.delete_object() .delete_object()
.bucket(bucket) .bucket(bucket)
@@ -249,7 +249,7 @@ pub async fn delete_object_with_bypass(
request = request.version_id(vid); request = request.version_id(vid);
} }
request.send().await?; request.send().await.map_err(Box::new)?;
info!("Deleted object {} (bypass: {})", key, bypass_governance); info!("Deleted object {} (bypass: {})", key, bypass_governance);
Ok(()) Ok(())
} }
@@ -24,6 +24,8 @@
//! - PutObjectRetention modification restrictions //! - PutObjectRetention modification restrictions
//! - Default bucket retention is applied to new objects //! - Default bucket retention is applied to new objects
use std::borrow::Borrow;
use super::common::*; use super::common::*;
use aws_sdk_s3::Client; use aws_sdk_s3::Client;
use aws_sdk_s3::error::{ProvideErrorMetadata, SdkError}; 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") .expect("retention timestamp should parse")
} }
fn assert_access_denied<T, E>(result: Result<T, SdkError<E>>, context: &str) fn assert_access_denied<T, E, R>(result: Result<T, R>, context: &str)
where where
T: std::fmt::Debug, T: std::fmt::Debug,
E: ProvideErrorMetadata + std::fmt::Debug, E: ProvideErrorMetadata + std::fmt::Debug,
R: Borrow<SdkError<E>> + std::fmt::Debug,
{ {
let error = result.expect_err(context); let error = result.expect_err(context);
let sdk_error = error.borrow();
assert_eq!( assert_eq!(
error.raw_response().map(|response| response.status().as_u16()), sdk_error.raw_response().map(|response| response.status().as_u16()),
Some(403), Some(403),
"{context}: expected HTTP 403, got: {error:?}" "{context}: expected HTTP 403, got: {error:?}"
); );
assert_eq!( assert_eq!(
error.as_service_error().and_then(ProvideErrorMetadata::code), sdk_error.as_service_error().and_then(ProvideErrorMetadata::code),
Some("AccessDenied"), Some("AccessDenied"),
"{context}: expected AccessDenied, got: {error:?}" "{context}: expected AccessDenied, got: {error:?}"
); );