fix(notify): emit noop event for missing deletes (#5381)

This commit is contained in:
cxymds
2026-07-28 17:05:10 +08:00
committed by GitHub
parent e822fc1552
commit 6bc5fc77b5
3 changed files with 78 additions and 5 deletions
+14 -1
View File
@@ -271,7 +271,11 @@ impl EventName {
EventName::ObjectCreatedPut,
],
EventName::ObjectTaggingAll => vec![EventName::ObjectTaggingPut, EventName::ObjectTaggingDelete],
EventName::ObjectRemovedAll => vec![EventName::ObjectRemovedDelete, EventName::ObjectRemovedDeleteMarkerCreated],
EventName::ObjectRemovedAll => vec![
EventName::ObjectRemovedDelete,
EventName::ObjectRemovedDeleteMarkerCreated,
EventName::ObjectRemovedNoOP,
],
EventName::ObjectReplicationAll => vec![
EventName::ObjectReplicationFailed,
EventName::ObjectReplicationComplete,
@@ -639,6 +643,15 @@ mod tests {
assert_eq!(EventName::parse("s3:Scanner:*").unwrap(), EventName::ObjectScannerAll);
}
#[test]
fn test_object_removed_all_includes_noop_extension() {
let expanded = EventName::ObjectRemovedAll.expand();
assert!(expanded.contains(&EventName::ObjectRemovedDelete));
assert!(expanded.contains(&EventName::ObjectRemovedDeleteMarkerCreated));
assert!(expanded.contains(&EventName::ObjectRemovedNoOP));
}
/// `is_removed` must be true for every `ObjectRemoved*` variant and false
/// for everything else.
#[test]