mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-27 15:37:02 +00:00
fix(lifecycle): expire sole delete markers by days (#4974)
This commit is contained in:
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user