use assert_cmd::Command;
use predicates::prelude::*;
#[test]
fn help_short_h() {
Command::cargo_bin("nmaprs")
.expect("binary")
.arg("-h")
.assert()
.success()
.stdout(predicate::str::contains("GRID SCANNER"));
}
#[test]
fn nms_binary_same_help() {
Command::cargo_bin("nms")
.expect("binary")
.arg("-h")
.assert()
.success()
.stdout(predicate::str::contains("GRID SCANNER"));
}
#[test]
fn help_long() {
Command::cargo_bin("nmaprs")
.expect("binary")
.arg("--help")
.assert()
.success();
}
#[test]
fn version_flag() {
Command::cargo_bin("nmaprs")
.expect("binary")
.arg("-V")
.assert()
.success()
.stdout(predicate::str::contains("nmaprs"));
}
#[test]
fn script_help_exits_without_targets() {
Command::cargo_bin("nmaprs")
.expect("binary")
.args(["--script-help", "default"])
.assert()
.success()
.stdout(predicate::str::contains("script-help"));
}
#[test]
fn list_scan_localhost() {
Command::cargo_bin("nmaprs")
.expect("binary")
.args(["-sL", "127.0.0.1"])
.assert()
.success()
.stdout(predicate::str::contains("127.0.0.1"));
}
#[test]
fn scan_localhost_one_closed_port() {
Command::cargo_bin("nmaprs")
.expect("binary")
.args(["-Pn", "-p", "65533", "127.0.0.1"])
.assert()
.success();
}
#[test]
fn scan_localhost_tcp_syn_discovery_only() {
Command::cargo_bin("nmaprs")
.expect("binary")
.args(["--ping-S", "65533", "-p", "65533", "127.0.0.1"])
.assert()
.success();
}