fn test_get_network_devices()

in nfm-controller/src/metadata/eni.rs [261:315]


    fn test_get_network_devices() {
        let mut fake_runner = FakeCommandRunner::new();
        fake_runner.add_expectation(
            "ip",
            &["-br", "link"],
            Ok(Output {
                status: ExitStatus::from_raw(0),
                stdout: r#"
                    lo               UNKNOWN        11:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP> 
                    eth1             UP             22:00:00:00:00:00 <BROADCAST,MULTICAST,UP,LOWER_UP> 
                    docker0          DOWN           33:00:00:00:00:00 <NO-CARRIER,BROADCAST,MULTICAST,UP> 
                    eth2             UP             44:00:00:00:00:00 <BROADCAST,MULTICAST,UP,LOWER_UP> 
                "#
                .as_bytes()
                .to_vec(),
                stderr: vec![],
            }),
        );

        let net_infos: Vec<NetworkInterfaceInfo> = vec![
            NetworkInterfaceInfo {
                mac: "22:00:00:00:00:00".to_string(),
                interface_id: "ifc-id1".to_string(),
                ..Default::default()
            },
            NetworkInterfaceInfo {
                mac: "44:00:00:00:00:00".to_string(),
                interface_id: "ifc-id2".to_string(),
                ..Default::default()
            },
        ];

        let mut eni_provider = EniMetadataProvider {
            client: Client::builder().build(),
            instance_id: "inst-id1".to_string(),
            instance_type: "the-instance-type".into(),
            network: net_infos,
            command_runner: Box::new(fake_runner.clone()),
        };

        let expected_net_devs: Vec<NetworkDevice> = vec![
            NetworkDevice {
                interface_id: "ifc-id1".to_string(),
                device_name: "eth1".to_string(),
            },
            NetworkDevice {
                interface_id: "ifc-id2".to_string(),
                device_name: "eth2".to_string(),
            },
        ];

        let actual_net_devs = eni_provider.get_network_devices();
        assert_eq!(actual_net_devs, expected_net_devs);
        assert!(fake_runner.expectations.lock().unwrap().is_empty());
    }