use haproxy_config::{parse_sections, Config}; use std::path::PathBuf; macro_rules! test_file { ($name:ident) => { #[test] fn $name() { let file = include_str!(std::concat!(stringify!($name), "_haproxy.cfg")); let path = std::concat!(stringify!($name), "_haproxy.cfg"); let lines = parse_sections(file) .map_err(|e| e.with_path(PathBuf::from(path))) .unwrap(); println!("{lines:#?}"); let config = Config::try_from(lines.as_slice()).unwrap(); println!("{config:#?}"); } }; } test_file! {minimal} test_file! {medium} test_file! {large} #[test] fn system_user_and_group() { let file = include_str!("medium_haproxy.cfg"); let path = "medium_haproxy.cfg"; let lines = parse_sections(file) .map_err(|e| e.with_path(PathBuf::from(path))) .unwrap(); let config = Config::try_from(lines.as_slice()).unwrap(); assert_eq!(config.global.user, Some("haproxy".into())); assert_eq!(config.global.group, Some("haproxy".into())); }