From 9994ec96fa65f8c9f177fef5522a20d9a4b41547 Mon Sep 17 00:00:00 2001 From: Stefan Kreutz Date: Thu, 26 May 2022 22:26:34 +0200 Subject: Test command-line interface --- tests/cli.rs | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 tests/cli.rs (limited to 'tests/cli.rs') diff --git a/tests/cli.rs b/tests/cli.rs new file mode 100644 index 0000000..47fab8d --- /dev/null +++ b/tests/cli.rs @@ -0,0 +1,34 @@ +use std::process::Command; + +use assert_cmd::prelude::*; + +#[test] +fn valid() { + let mut cmd = Command::cargo_bin("wpa-psk").unwrap(); + cmd.arg("home") + .arg("0123-4567-89") + .assert() + .success() + .stdout("0x150c047b6fad724512a17fa431687048ee503d14c1ea87681d4f241beb04f5ee\n"); +} + +#[test] +fn passphrase_too_short() { + let mut cmd = Command::cargo_bin("wpa-psk").unwrap(); + cmd.arg("bar") + .arg("2short") + .assert() + .failure() + .stderr("passphrase must have at least 8 bytes\n"); +} + +#[test] +fn force() { + let mut cmd = Command::cargo_bin("wpa-psk").unwrap(); + cmd.arg("--force") + .arg("bar") + .arg("2short") + .assert() + .success() + .stdout("0xcb5de4e4d23b2ab0bf5b9ba0fe8132c1e2af3bb52298ec801af8ad520cea3437\n"); +} -- cgit v1.2.3