lockbox

password manager
Log | Files | Refs | README | LICENSE

commit 613f1eef09c45e09a7172c5a0a3ff1ca1312df2e
parent cca30095e0c64d957b4422e4bdd6a067c3b65a3e
Author: Sean Enck <sean@ttypty.com>
Date:   Sat,  7 Dec 2024 16:11:58 -0500

allow env to take a variable as well

Diffstat:
Minternal/app/info.go | 7++++---
Minternal/app/info_test.go | 15++++++++++++++-
2 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/internal/app/info.go b/internal/app/info.go @@ -73,10 +73,11 @@ func info(command string, args []string) ([]string, error) { case 0: case 1: sub := args[0] - if sub != commands.Completions { - return nil, fmt.Errorf("unknown env subset: %s", sub) + if sub == commands.Completions { + set = completions.NewConditionals().Exported + } else { + set = []string{sub} } - set = completions.NewConditionals().Exported default: return nil, errors.New("invalid env command, too many arguments") } diff --git a/internal/app/info_test.go b/internal/app/info_test.go @@ -87,9 +87,22 @@ func TestEnvInfo(t *testing.T) { if strings.TrimSpace(buf.String()) != "LOCKBOX_READONLY=true" { t.Error("nothing written") } - if _, err = app.Info(&buf, "env", []string{"defaults"}); err.Error() != "unknown env subset: defaults" { + buf = bytes.Buffer{} + ok, err = app.Info(&buf, "env", []string{"LOCKBOX_READONLY"}) + if !ok || err != nil { + t.Errorf("invalid error: %v", err) + } + if strings.TrimSpace(buf.String()) != "LOCKBOX_READONLY=true" { + t.Error("nothing written") + } + buf = bytes.Buffer{} + ok, err = app.Info(&buf, "env", []string{"garbage"}) + if !ok || err != nil { t.Errorf("invalid error: %v", err) } + if buf.String() != "\n" { + t.Error("nothing written") + } if _, err = app.Info(&buf, "env", []string{"test", "default"}); err.Error() != "invalid env command, too many arguments" { t.Errorf("invalid error: %v", err) }