diff --git a/src/api/s3/cors.rs b/src/api/s3/cors.rs index 1e3f6a0d..4e1d8ece 100644 --- a/src/api/s3/cors.rs +++ b/src/api/s3/cors.rs @@ -196,6 +196,8 @@ impl CorsRule { #[cfg(test)] mod tests { + use crate::unprettify_xml; + use super::*; use quick_xml::de::from_str; @@ -266,8 +268,7 @@ mod tests { let message2 = to_xml_with_header(&ref_value)?; - let cleanup = |c: &str| c.replace(char::is_whitespace, ""); - assert_eq!(cleanup(message), cleanup(&message2)); + assert_eq!(unprettify_xml(message), unprettify_xml(&message2)); Ok(()) } diff --git a/src/api/s3/lib.rs b/src/api/s3/lib.rs index 83f684f8..f5fab57a 100644 --- a/src/api/s3/lib.rs +++ b/src/api/s3/lib.rs @@ -19,3 +19,11 @@ pub mod website; mod encryption; mod router; pub mod xml; + +#[cfg(test)] +pub(crate) fn unprettify_xml(xml_in: &str) -> String { + xml_in.trim().lines().fold(String::new(), |mut val, line| { + val.push_str(line.trim()); + val + }) +} diff --git a/src/api/s3/lifecycle.rs b/src/api/s3/lifecycle.rs index ccda6cfd..ba6aeda2 100644 --- a/src/api/s3/lifecycle.rs +++ b/src/api/s3/lifecycle.rs @@ -285,6 +285,8 @@ impl Expiration { #[cfg(test)] mod tests { + use crate::unprettify_xml; + use super::*; use quick_xml::de::from_str; @@ -357,8 +359,7 @@ mod tests { let message2 = to_xml_with_header(&ref_value)?; - let cleanup = |c: &str| c.replace(char::is_whitespace, ""); - assert_eq!(cleanup(message), cleanup(&message2)); + assert_eq!(unprettify_xml(message), unprettify_xml(&message2)); // Check validation let validated = ref_value @@ -393,7 +394,7 @@ mod tests { let message3 = to_xml_with_header(&LifecycleConfiguration::from_garage_lifecycle_config( &validated, ))?; - assert_eq!(cleanup(message), cleanup(&message3)); + assert_eq!(unprettify_xml(message), unprettify_xml(&message3)); Ok(()) } diff --git a/src/api/s3/website.rs b/src/api/s3/website.rs index d4f0e37c..506df69e 100644 --- a/src/api/s3/website.rs +++ b/src/api/s3/website.rs @@ -373,6 +373,8 @@ impl Redirect { #[cfg(test)] mod tests { + use crate::unprettify_xml; + use super::*; use quick_xml::de::from_str; @@ -468,8 +470,7 @@ mod tests { let message2 = to_xml_with_header(&ref_value)?; - let cleanup = |c: &str| c.replace(char::is_whitespace, ""); - assert_eq!(cleanup(message), cleanup(&message2)); + assert_eq!(unprettify_xml(message), unprettify_xml(&message2)); Ok(()) }