refactor: narrow test harness compatibility surfaces (#3592)

This commit is contained in:
安正超
2026-06-19 07:10:52 +08:00
committed by GitHub
parent b14e49e84e
commit b1c6578df1
27 changed files with 384 additions and 105 deletions
+27
View File
@@ -48,6 +48,20 @@ pub struct ObjectLockRetentionOptions {
pub bypass_governance: bool,
}
#[derive(Debug, Clone, Default)]
pub struct ExpirationOptions {
pub expire: bool,
}
#[derive(Debug, Default, Clone)]
pub struct TransitionedObject {
pub name: String,
pub version_id: String,
pub tier: String,
pub free_version: bool,
pub status: String,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct ObjectPreconditionPart {
pub number: usize,
@@ -797,6 +811,19 @@ mod tests {
assert_eq!(object.delete_marker_replication_status(), ReplicationStatusType::Empty);
}
#[test]
fn lifecycle_helper_defaults_preserve_existing_contracts() {
let expiration = ExpirationOptions::default();
let transitioned = TransitionedObject::default();
assert!(!expiration.expire);
assert!(transitioned.name.is_empty());
assert!(transitioned.version_id.is_empty());
assert!(transitioned.tier.is_empty());
assert!(!transitioned.free_version);
assert!(transitioned.status.is_empty());
}
#[derive(Debug)]
struct TestListBackend;