commit bed99569600ddda78e9a4ff9457e6b547df6e65d
parent 249fa3098ef81e6a84cb0eae585413f1da5f069f
Author: Sean Enck <sean@ttypty.com>
Date: Sat, 24 Jul 2021 18:19:34 -0400
adding some basic tests
Diffstat:
4 files changed, 82 insertions(+), 5 deletions(-)
diff --git a/cmd/pwgen/main.go b/cmd/pwgen/main.go
@@ -36,12 +36,8 @@ func main() {
rawTokens := flag.String("transform", defaultTransform, "pick how to transform words")
flag.Parse()
src := strings.TrimSpace(os.Getenv("PWGEN_SOURCE"))
- allowed := strings.TrimSpace(os.Getenv("PWGEN_ALLOWED"))
special := strings.TrimSpace(os.Getenv("PWGEN_SPECIAL"))
transform := *rawTokens
- if len(allowed) == 0 {
- internal.Die("no allowed characters found", internal.NewLockboxError("allowed characters required"))
- }
var paths []string
parts := strings.Split(src, ":")
for _, p := range parts {
diff --git a/configure b/configure
@@ -58,7 +58,10 @@ _generate() {
echo "# Autogenerated file
FLAGS := -trimpath -buildmode=pie -mod=readonly -modcacherw
-all: prep ${binapps[@]}
+all: prep ${binapps[@]} test
+
+test:
+ make -C tests
prep:
mkdir -p $BIN_PATH
diff --git a/tests/expected.log b/tests/expected.log
@@ -0,0 +1,32 @@
+
+
+
+keys/one
+keys/one2
+keys2/three
+uuuuuuuuuu
+rekeying: bin/lb/keys/one.lb
+rekeying: bin/lb/keys/one2.lb
+rekeying: bin/lb/keys2/three.lb
+remove entry? (y/N)
+keys/one2
+keys2/three
+test2
+test3
+test4
+
+test
+test
+[
+ {
+ "entry": "keys/one2",
+ "name": "one2",
+ "dir": "keys",
+ "history": []
+ }
+]
+test2
+remove entry? (y/N)
+remove entry? (y/N)
+rekeying: bin/lb/keys/one2.lb
+test2
diff --git a/tests/run.sh b/tests/run.sh
@@ -0,0 +1,46 @@
+#!/bin/bash
+BIN=../bin/
+TESTS="$PWD/bin"
+
+export LOCKBOX_STORE="$TESTS/lb"
+export LOCKBOX_KEYMODE="plaintext"
+export LOCKBOX_TOTP="totp"
+export PWGEN_SOURCE="$PWD"
+export PWGEN_SPECIAL="u"
+export PWGEN_SED="s/[[:alnum:]]/u/g;s/\./u/g"
+
+rm -rf $TESTS
+mkdir -p $LOCKBOX_STORE
+mkdir -p $LOCKBOX_STORE/$LOCKBOX_TOTP
+
+_run() {
+ echo "test" | $BIN/lb insert keys/one
+ echo "test2" | $BIN/lb insert keys/one2
+ echo -e "test3\ntest4" | $BIN/lb insert keys2/three
+ $BIN/lb ls
+ $BIN/lb pwgen -special -length 10
+ $BIN/lb-rekey
+ yes | $BIN/lb rm keys/one
+ echo
+ $BIN/lb list
+ $BIN/lb show keys/one2
+ $BIN/lb show keys2/three
+ echo "5ae472abqdekjqykoyxk7hvc2leklq5n" | $BIN/lb insert totp/test
+ $BIN/lb-totp ls
+ $BIN/lb-totp test | head -3 | tail -n 1
+ $BIN/lb-stats keys/one
+ $BIN/lb-diff bin/lb/keys/one.lb bin/lb/keys/one2.lb
+ yes | $BIN/lb rm keys2/three
+ echo
+ yes | $BIN/lb rm totp/test
+ echo
+ $BIN/lb-rekey -outkey "test" -outmode "plaintext"
+ $BIN/lb-rw -file bin/lb/keys/one2.lb -key "test" -keymode "plaintext" -mode "decrypt"
+}
+
+LOG=$TESTS/lb.log
+_run | sed "s#$PWD/##g" > $LOG
+diff -u $LOG expected.log
+if [ $? -ne 0 ]; then
+ exit 1
+fi