diff --git a/crates/s3/src/select.rs b/crates/s3/src/select.rs index d3ae504..a39d0fd 100644 --- a/crates/s3/src/select.rs +++ b/crates/s3/src/select.rs @@ -252,12 +252,24 @@ mod tests { assert!(matches!(e, Error::Auth(msg) if msg.contains("Access denied"))); } + #[test] + fn classify_empty_code_maps_no_such_bucket_substring() { + let e = classify_aws_code(Some(""), "Service error: ... NoSuchBucket ..."); + assert!(matches!(e, Error::NotFound(msg) if msg.contains("Bucket"))); + } + #[test] fn classify_empty_code_maps_no_such_key_substring() { let e = classify_aws_code(Some(""), "Service error: ... NoSuchKey ..."); assert!(matches!(e, Error::NotFound(msg) if msg.contains("Object"))); } + #[test] + fn classify_empty_code_maps_not_implemented_substring() { + let e = classify_aws_code(Some(""), "Service error: backend returned NotImplemented"); + assert!(matches!(e, Error::UnsupportedFeature(msg) if msg.contains("does not support"))); + } + #[test] fn classify_maps_invalid_argument() { let e = classify_aws_code(Some("InvalidArgument"), "bad expr");