diff --git a/crates/core/tests/lifecycle_import_dialect.rs b/crates/core/tests/lifecycle_import_dialect.rs index 9ea2a3a..e229403 100644 --- a/crates/core/tests/lifecycle_import_dialect.rs +++ b/crates/core/tests/lifecycle_import_dialect.rs @@ -84,6 +84,18 @@ fn s3_filter_and_combination_is_flattened() { assert_eq!(config.rules[0].object_size_less_than, Some(1000)); } +#[test] +fn s3_filter_and_rejects_duplicate_tag_keys() { + let error = parse_error( + r#"{"rules":[{"id":"r","status":"Enabled","filter":{"And":{"Tag":{"Key":"env","Value":"prod"},"Tags":[{"Key":"env","Value":"staging"}]}}}]}"#, + ); + + assert!( + error.contains("duplicate tag key in Filter.And: env"), + "{error}" + ); +} + #[test] fn s3_standalone_object_size_greater_than_filter_is_accepted() { let config = parse(