summaryrefslogtreecommitdiff
path: root/tests/cli.rs
diff options
context:
space:
mode:
authorStefan Kreutz <mail@skreutz.com>2022-05-26 22:26:34 +0200
committerStefan Kreutz <mail@skreutz.com>2022-05-26 22:26:34 +0200
commit9994ec96fa65f8c9f177fef5522a20d9a4b41547 (patch)
tree45f2c88ec23184459952e14e54e1e823bd7534cb /tests/cli.rs
parentc3208b30771c2378ec48e2a2d10338bd3ad90137 (diff)
downloadwpa-psk-9994ec96fa65f8c9f177fef5522a20d9a4b41547.tar
Test command-line interface
Diffstat (limited to 'tests/cli.rs')
-rw-r--r--tests/cli.rs34
1 files changed, 34 insertions, 0 deletions
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");
+}
Generated by cgit. See skreutz.com for my tech blog and contact information.