camel_processor/data_format/
mod.rs1mod json;
2mod xml;
3
4pub use json::JsonDataFormat;
5pub use xml::XmlDataFormat;
6
7use camel_api::DataFormat;
8use std::sync::Arc;
9
10pub fn builtin_data_format(name: &str) -> Option<Arc<dyn DataFormat>> {
11 match name {
12 "json" => Some(Arc::new(JsonDataFormat)),
13 "xml" => Some(Arc::new(XmlDataFormat)),
14 _ => None,
15 }
16}
17
18#[cfg(test)]
19mod tests {
20 use super::*;
21
22 #[test]
23 fn test_builtin_json() {
24 let df = builtin_data_format("json").unwrap();
25 assert_eq!(df.name(), "json");
26 }
27
28 #[test]
29 fn test_builtin_xml() {
30 let df = builtin_data_format("xml").unwrap();
31 assert_eq!(df.name(), "xml");
32 }
33
34 #[test]
35 fn test_builtin_unknown_returns_none() {
36 assert!(builtin_data_format("csv").is_none());
37 assert!(builtin_data_format("protobuf").is_none());
38 assert!(builtin_data_format("").is_none());
39 }
40}