ufwctl 0.1.0

Linux-only Rust library for managing UFW firewall rules
Documentation
/// Verify that all builder chains compile without executing real commands.
use ufwctl::Firewall;

#[test]
fn port_builder_api_compiles() {
    let fw = Firewall::new();

    let _ = fw.port(5050).allow().tcp();
    let _ = fw.port(5050).allow().udp();
    let _ = fw.port(5050).allow().both();

    let _ = fw.port(5050).deny().tcp();
    let _ = fw.port(5050).deny().udp();
    let _ = fw.port(5050).deny().both();

    let _ = fw.port(5050).delete().tcp();
    let _ = fw.port(5050).delete().udp();
    let _ = fw.port(5050).delete().both();

    let _ = fw.port(5050).status();
}

#[test]
fn ipv4_builder_api_compiles() {
    let fw = Firewall::new();

    let ipv4 = fw.ipv4("192.168.1.10").expect("valid ipv4");
    let _ = ipv4.allow().tcp();

    let ipv4 = fw.ipv4("192.168.1.10").expect("valid ipv4");
    let _ = ipv4.deny().udp();

    let ipv4 = fw.ipv4("192.168.1.10").expect("valid ipv4");
    let _ = ipv4.delete().both();

    let ipv4 = fw.ipv4("192.168.1.10").expect("valid ipv4");
    let _ = ipv4.status();
}

#[test]
fn ipv6_builder_api_compiles() {
    let fw = Firewall::new();

    let ipv6 = fw.ipv6("::1").expect("valid ipv6");
    let _ = ipv6.allow().tcp();

    let ipv6 = fw.ipv6("::1").expect("valid ipv6");
    let _ = ipv6.deny().udp();

    let ipv6 = fw.ipv6("::1").expect("valid ipv6");
    let _ = ipv6.delete().both();

    let ipv6 = fw.ipv6("::1").expect("valid ipv6");
    let _ = ipv6.status();
}