systemconfiguration-rs 0.2.1

Safe Rust bindings for Apple's SystemConfiguration framework via a Swift bridge on macOS
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use systemconfiguration::Schema;

#[test]
fn schema_catalog_contains_common_keys() -> Result<(), Box<dyn std::error::Error>> {
    let catalog = Schema::catalog()?;
    assert!(catalog.all.len() >= 270);
    assert_eq!(catalog.components.get("network").map(String::as_str), Some("Network"));
    assert_eq!(catalog.entities.get("ipv4").map(String::as_str), Some("IPv4"));
    assert!(catalog.proxies.contains_key("http_proxy"));
    assert!(catalog.contains("kSCDynamicStoreDomainSetup"));
    assert!(catalog.get("kSCPropNetDNSSearchOrder").is_some());
    assert!(catalog.get("kSCEntNetFireWire").is_some());
    Ok(())
}