mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-29 16:37:07 +00:00
fix(e2e): box delete object errors (#6534)
This commit is contained in:
@@ -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:?}"
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user