lockbox

password manager
Log | Files | Refs | README | LICENSE

commit bed99569600ddda78e9a4ff9457e6b547df6e65d
parent 249fa3098ef81e6a84cb0eae585413f1da5f069f
Author: Sean Enck <sean@ttypty.com>
Date:   Sat, 24 Jul 2021 18:19:34 -0400

adding some basic tests

Diffstat:
Mcmd/pwgen/main.go | 4----
Mconfigure | 5++++-
Atests/expected.log | 32++++++++++++++++++++++++++++++++
Atests/run.sh | 46++++++++++++++++++++++++++++++++++++++++++++++
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