From b727e669dbd6b3370ff364ab25299138d99e6538 Mon Sep 17 00:00:00 2001 From: Zhengchao An Date: Thu, 3 Sep 2026 03:38:40 +0800 Subject: [PATCH] fix(object): route write-back test wire types through the s3 facade (#7080) --- rustfs/src/app/object/on_demand_migration_put.rs | 10 +++++----- rustfs/src/app/storage_api.rs | 11 +++++++++++ 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/rustfs/src/app/object/on_demand_migration_put.rs b/rustfs/src/app/object/on_demand_migration_put.rs index 89ed3addb..000d76852 100644 --- a/rustfs/src/app/object/on_demand_migration_put.rs +++ b/rustfs/src/app/object/on_demand_migration_put.rs @@ -278,16 +278,16 @@ mod tests { use super::*; use crate::app::storage_api::multipart_usecase::contract::multipart::MultipartOperations as _; use crate::app::storage_api::object_usecase::on_demand_migration::{PullFailureReason, SourceSse}; + use crate::app::storage_api::s3::{ + BucketVersioningStatus, DeleteMarkerReplication, DeleteMarkerReplicationStatus, Destination, ReplicationConfiguration, + ReplicationRule, ReplicationRuleStatus, ServerSideEncryptionByDefault, ServerSideEncryptionConfiguration, + ServerSideEncryptionRule, VersioningConfiguration, + }; use crate::app::storage_api::test::bucket::utils::serialize; use crate::app::storage_api::test::contract::bucket::{BucketOperations as _, MakeBucketOptions}; use crate::app::storage_api::test::{get_global_bucket_metadata_sys, set_bucket_metadata}; use http::Method; use rustfs_utils::http::{MINIO_INTERNAL_PREFIX, RUSTFS_INTERNAL_PREFIX, get_str}; - use s3s::dto::{ - BucketVersioningStatus, DeleteMarkerReplication, DeleteMarkerReplicationStatus, Destination, ReplicationConfiguration, - ReplicationRule, ReplicationRuleStatus, ServerSideEncryptionByDefault, ServerSideEncryptionConfiguration, - ServerSideEncryptionRule, VersioningConfiguration, - }; use sha2::{Digest as Sha256Digest, Sha256}; use std::time::SystemTime; use tokio::io::AsyncReadExt; diff --git a/rustfs/src/app/storage_api.rs b/rustfs/src/app/storage_api.rs index 4d9e6e577..358900aed 100644 --- a/rustfs/src/app/storage_api.rs +++ b/rustfs/src/app/storage_api.rs @@ -24,6 +24,17 @@ pub(crate) fn EndpointServerPools( crate::storage::storage_api::EndpointServerPools::from(pools) } +/// S3 wire types for app-layer modules, funneled here so new files stay off +/// the direct s3s surface (s3s footprint ratchet, `scripts/check_s3s_footprint.sh`). +pub(crate) mod s3 { + #[cfg(test)] + pub(crate) use s3s::dto::{ + BucketVersioningStatus, DeleteMarkerReplication, DeleteMarkerReplicationStatus, Destination, ReplicationConfiguration, + ReplicationRule, ReplicationRuleStatus, ServerSideEncryptionByDefault, ServerSideEncryptionConfiguration, + ServerSideEncryptionRule, VersioningConfiguration, + }; +} + pub(crate) mod admin { pub(crate) async fn get_server_info(get_pools: bool) -> rustfs_madmin::InfoMessage { crate::storage::storage_api::ecstore_admin::get_server_info(get_pools).await