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,
version_id: Option<&str>,
bypass_governance: bool,
) -> Result<(), SdkError<DeleteObjectError>> {
) -> Result<(), Box<SdkError<DeleteObjectError>>> {
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(())
}
@@ -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<T, E>(result: Result<T, SdkError<E>>, context: &str)
fn assert_access_denied<T, E, R>(result: Result<T, R>, context: &str)
where
T: std::fmt::Debug,
E: ProvideErrorMetadata + std::fmt::Debug,
R: Borrow<SdkError<E>> + 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:?}"
);