in metalos/lib/send_events/src/send_events.rs [321:377]
fn test_source_args() -> Result<()> {
assert_eq!(
Into::<Option<Source>>::into(SourceArgs {
asset_id: Some(123),
mac_address: None,
ip_address: None,
}),
Some(Source::AssetId(123)),
);
assert_eq!(
Into::<Option<Source>>::into(SourceArgs {
asset_id: None,
mac_address: Some("fake_mac".to_string()),
ip_address: None,
}),
Some(Source::Mac("fake_mac".to_string())),
);
assert_eq!(
Into::<Option<Source>>::into(SourceArgs {
asset_id: None,
mac_address: None,
ip_address: Some("127.0.0.1".parse()?),
}),
Some(Source::IpAddr("127.0.0.1".parse()?)),
);
assert_eq!(
Into::<Option<Source>>::into(SourceArgs {
asset_id: None,
mac_address: None,
ip_address: None,
}),
None,
);
assert!(is_bad_args(SourceArgs {
asset_id: Some(123),
mac_address: Some("fake_mac".to_string()),
ip_address: Some("127.0.0.1".parse()?),
}));
assert!(is_bad_args(SourceArgs {
asset_id: None,
mac_address: Some("fake_mac".to_string()),
ip_address: Some("127.0.0.1".parse()?),
}));
assert!(is_bad_args(SourceArgs {
asset_id: Some(123),
mac_address: None,
ip_address: Some("127.0.0.1".parse()?),
}));
assert!(is_bad_args(SourceArgs {
asset_id: Some(123),
mac_address: Some("fake_mac".to_string()),
ip_address: None,
}));
Ok(())
}