fix(lifecycle): expire sole delete markers by days (#4974)

This commit is contained in:
cxymds
2026-07-17 19:03:33 +08:00
committed by GitHub
parent 1e14c05cf0
commit ec47c20ced
2 changed files with 182 additions and 1 deletions
+22
View File
@@ -368,6 +368,28 @@ mod tests {
assert_eq!(events[0].action, IlmAction::NoneAction);
}
#[tokio::test]
async fn evaluator_skips_expiration_days_delete_marker_while_replication_pending() {
let evaluator = Evaluator::new(latest_expiration_lifecycle());
let events = evaluator
.eval(&[object_opts(ReplicationStatusType::Pending, VersionPurgeStatusType::default())])
.await
.expect("pending replication should still return a lifecycle decision");
assert_eq!(events[0].action, IlmAction::NoneAction);
let events = evaluator
.eval(&[object_opts(
ReplicationStatusType::Completed,
VersionPurgeStatusType::Complete,
)])
.await
.expect("completed replication should allow delete-marker expiration");
assert_eq!(events[0].action, IlmAction::DeleteVersionAction);
}
#[tokio::test]
async fn evaluator_skips_latest_expiration_while_replication_failed() {
let evaluator = Evaluator::new(latest_expiration_lifecycle());