| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- //! 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());
- }
|