use super::*;
#[tokio::test]
async fn test_local_interfaces() -> Result<()> {
let vnet = Arc::new(Net::new(None));
let interfaces = vnet.get_interfaces().await;
let ips = local_interfaces(
&vnet,
&None,
&None,
&[NetworkType::Udp4, NetworkType::Udp6],
false,
)
.await;
let ips_with_loopback = local_interfaces(
&vnet,
&None,
&None,
&[NetworkType::Udp4, NetworkType::Udp6],
true,
)
.await;
assert!(ips_with_loopback.is_superset(&ips));
assert!(!ips.iter().any(|ip| ip.is_loopback()));
assert!(ips_with_loopback.iter().any(|ip| ip.is_loopback()));
log::info!(
"interfaces: {interfaces:?}, ips: {ips:?}, ips_with_loopback: {ips_with_loopback:?}"
);
Ok(())
}