fn test_source_args()

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(())
    }