//! Parse tests for the `[mikrotik]` config section. use super::Config; #[test] fn test_config_deserialize_mikrotik() { let c: Config = toml::from_str( r#" [mikrotik] [[mikrotik.devices]] name = "router.lab" address = "192.168.88.1" username = "admin" password = "secret" [[mikrotik.devices]] name = "router.edge" address = "10.0.0.1" username = "u" password = "p" api_port = 8729 on_entity = "switch.edge_power" "#, ) .unwrap(); let mk = c.mikrotik.as_ref().expect("[mikrotik] parsed"); assert_eq!(mk.devices.len(), 2); assert_eq!(mk.devices[0].name, "router.lab"); assert_eq!(mk.devices[0].api_port, 8728, "default port"); assert_eq!(mk.devices[0].on_entity, None); assert_eq!(mk.devices[1].api_port, 8729); assert_eq!( mk.devices[1].on_entity.as_deref(), Some("switch.edge_power") ); } #[test] fn test_config_mikrotik_absent() { let c: Config = toml::from_str("ssh_user = \"a\"\n").unwrap(); assert!(c.mikrotik.is_none()); }