mirror of
https://github.com/rustfs/rustfs.git
synced 2026-07-26 08:18:18 +00:00
test(ilm): cover manual transition worker failure summary (#5272)
Co-authored-by: heihutu <heihutu@gmail.com>
This commit is contained in:
@@ -4571,9 +4571,10 @@ mod tests {
|
||||
};
|
||||
use crate::bucket::lifecycle::manual_transition_job::{
|
||||
ManualTransitionJobRecord, ManualTransitionJobState, ManualTransitionScopeAdmission, ManualTransitionScopeAdmissionClaim,
|
||||
claim_manual_transition_scope_admission, legacy_manual_transition_scope_key, load_manual_transition_job_record,
|
||||
load_manual_transition_scope_admission, renew_manual_transition_job_lease, request_manual_transition_job_cancel,
|
||||
save_manual_transition_job_record, save_manual_transition_scope_admission_if_absent,
|
||||
ManualTransitionWorkerResult, claim_manual_transition_scope_admission, legacy_manual_transition_scope_key,
|
||||
load_manual_transition_job_record, load_manual_transition_scope_admission, renew_manual_transition_job_lease,
|
||||
request_manual_transition_job_cancel, save_manual_transition_job_record,
|
||||
save_manual_transition_scope_admission_if_absent,
|
||||
};
|
||||
use crate::bucket::lifecycle::replication_sink::{
|
||||
ReplicateDecision, ReplicateTargetDecision, ReplicationStatusType, VersionPurgeStatusType,
|
||||
@@ -7326,6 +7327,36 @@ mod tests {
|
||||
assert!(!report.has_partial_enqueue());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn manual_transition_complete_preserves_worker_failure_summary() {
|
||||
let options = ManualTransitionRunOptions::default();
|
||||
let mut record = ManualTransitionJobRecord::new(Uuid::new_v4(), "manual-worker-summary-bucket", &options, "owner-a");
|
||||
|
||||
record.record_worker_result(ManualTransitionWorkerResult::Completed, ManualTransitionQueueSnapshot::default());
|
||||
record.record_worker_result(ManualTransitionWorkerResult::TierFailure, ManualTransitionQueueSnapshot::default());
|
||||
record.complete(
|
||||
ManualTransitionRunReport {
|
||||
bucket: "manual-worker-summary-bucket".to_string(),
|
||||
scanned: 3,
|
||||
eligible: 2,
|
||||
enqueued: 2,
|
||||
tier_failure: 1,
|
||||
..Default::default()
|
||||
},
|
||||
ManualTransitionQueueSnapshot::default(),
|
||||
);
|
||||
|
||||
assert_eq!(record.state, ManualTransitionJobState::Partial);
|
||||
assert!(record.scan_completed);
|
||||
assert_eq!(record.report.scanned, 3);
|
||||
assert_eq!(record.report.eligible, 2);
|
||||
assert_eq!(record.report.enqueued, 2);
|
||||
assert_eq!(record.report.transition_completed, 1);
|
||||
assert_eq!(record.report.transition_failed, 1);
|
||||
assert_eq!(record.report.tier_failure, 2);
|
||||
assert!(record.completed_at_unix_nanos.is_some());
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn manual_transition_counts_already_transitioned_object() {
|
||||
let lc = latest_transition_lifecycle();
|
||||
|
||||
Reference in New Issue
Block a user