refactor(replication): isolate ecstore owner contracts (#4239)

This commit is contained in:
Zhengchao An
2026-07-03 21:42:45 +08:00
committed by GitHub
parent 92402a3bde
commit 6a81445a96
10 changed files with 55 additions and 33 deletions
+7 -6
View File
@@ -929,6 +929,7 @@ pub(crate) async fn migrate_object(
#[cfg(test)]
mod tests {
use super::*;
use crate::bucket::replication::{ReplicationStatusType, VersionPurgeStatusType};
use rustfs_rio::HashReaderMut;
use s3s::header::{X_AMZ_OBJECT_LOCK_LEGAL_HOLD, X_AMZ_OBJECT_LOCK_MODE, X_AMZ_OBJECT_LOCK_RETAIN_UNTIL_DATE};
use std::collections::HashMap;
@@ -1437,9 +1438,9 @@ mod tests {
storage_class: Some("STANDARD_IA".to_string()),
checksum: Some(Bytes::from_static(b"object-checksum")),
replication_status_internal: Some("arn:minio:replication:target=COMPLETED;".to_string()),
replication_status: rustfs_replication::ReplicationStatusType::Completed,
replication_status: ReplicationStatusType::Completed,
version_purge_status_internal: Some("arn:minio:replication:target=PENDING;".to_string()),
version_purge_status: rustfs_replication::VersionPurgeStatusType::Pending,
version_purge_status: VersionPurgeStatusType::Pending,
parts: Arc::new(vec![part]),
..Default::default()
};
@@ -1696,9 +1697,9 @@ mod tests {
expires: Some(OffsetDateTime::from_unix_timestamp(2_000).expect("valid expires timestamp")),
storage_class: Some("STANDARD_IA".to_string()),
replication_status_internal: Some("arn:minio:replication:target=COMPLETED;".to_string()),
replication_status: rustfs_replication::ReplicationStatusType::Completed,
replication_status: ReplicationStatusType::Completed,
version_purge_status_internal: Some("arn:minio:replication:target=PENDING;".to_string()),
version_purge_status: rustfs_replication::VersionPurgeStatusType::Pending,
version_purge_status: VersionPurgeStatusType::Pending,
parts: Arc::new(vec![part]),
..Default::default()
}
@@ -1771,7 +1772,7 @@ mod tests {
let source = overwrite_equivalence_source();
let target = ObjectInfo {
version_purge_status_internal: Some("arn:minio:replication:target=COMPLETE;".to_string()),
version_purge_status: rustfs_replication::VersionPurgeStatusType::Complete,
version_purge_status: VersionPurgeStatusType::Complete,
..source.clone()
};
@@ -1783,7 +1784,7 @@ mod tests {
let source = overwrite_equivalence_source();
let target = ObjectInfo {
replication_status_internal: Some("arn:minio:replication:target=FAILED;".to_string()),
replication_status: rustfs_replication::ReplicationStatusType::Failed,
replication_status: ReplicationStatusType::Failed,
..source.clone()
};