use crate::{BaseInterface, ErrorKind, Interface, MergedInterface};
#[test]
fn test_valid_mptcp_flags() {
let des_iface: Interface = serde_yaml::from_str(
r"---
name: eth1
type: ethernet
state: up
mptcp:
address-flags:
- signal
- fullmesh
",
)
.unwrap();
let mut merged_iface = MergedInterface::new(Some(des_iface), None).unwrap();
let result = merged_iface.post_inter_ifaces_process();
assert!(result.is_err());
if let Err(e) = result {
assert_eq!(e.kind(), ErrorKind::InvalidArgument);
}
}
#[test]
fn test_mptcp_sanitize_remove_per_addr_flag() {
let mut des_iface: BaseInterface = serde_yaml::from_str(
r#"---
name: eth1
type: ethernet
state: up
mptcp:
address-flags:
- backup
- fullmesh
ipv4:
enabled: "true"
dhcp: "false"
address:
- ip: "192.168.1.1"
prefix-length: "24"
mptcp-flags:
- backup
- fullmesh
ipv6:
enabled: "true"
dhcp: "false"
address:
- ip: "2001:0db8:85a3:0000:0000:8a2e:0370:7331"
prefix-length: "64"
mptcp-flags:
- signal
- backup
- fullmesh
"#,
)
.unwrap();
let expected_iface: BaseInterface = serde_yaml::from_str(
r#"---
name: eth1
type: ethernet
state: up
mptcp:
address-flags:
- backup
- fullmesh
ipv4:
enabled: "true"
dhcp: "false"
address:
- ip: "192.168.1.1"
prefix-length: "24"
ipv6:
enabled: "true"
dhcp: "false"
address:
- ip: "2001:0db8:85a3:0000:0000:8a2e:0370:7331"
prefix-length: "64"
"#,
)
.unwrap();
des_iface.sanitize(true).unwrap();
assert_eq!(des_iface, expected_iface);
}