mirror of
https://github.com/gopasspw/gopass.git
synced 2025-12-08 19:24:54 +00:00
* [bugfix] Bring back audit summary This PR brings back the audit summary view and displays only that by default. This restores the old behaviour before we refactored the audit implementation. The new view is still available with the new --full flag. Fixes #2816 Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org> * Fix tests. Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org> * Fix integration test Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org> --------- Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
61 lines
1.5 KiB
Go
61 lines
1.5 KiB
Go
package action
|
|
|
|
import (
|
|
"bytes"
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/gopasspw/gopass/internal/config"
|
|
"github.com/gopasspw/gopass/internal/out"
|
|
"github.com/gopasspw/gopass/pkg/ctxutil"
|
|
"github.com/gopasspw/gopass/pkg/gopass/secrets"
|
|
"github.com/gopasspw/gopass/tests/gptest"
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestAudit(t *testing.T) {
|
|
u := gptest.NewUnitTester(t)
|
|
|
|
ctx := config.NewContextInMemory()
|
|
ctx = ctxutil.WithAlwaysYes(ctx, true)
|
|
ctx = ctxutil.WithHidden(ctx, true)
|
|
act, err := newMock(ctx, u.StoreDir(""))
|
|
require.NoError(t, err)
|
|
require.NotNil(t, act)
|
|
ctx = act.cfg.WithConfig(ctx)
|
|
|
|
buf := &bytes.Buffer{}
|
|
out.Stdout = buf
|
|
stdout = buf
|
|
defer func() {
|
|
out.Stdout = os.Stdout
|
|
stdout = os.Stdout
|
|
}()
|
|
|
|
t.Run("expect audit to complains on very weak passwords", func(t *testing.T) {
|
|
sec := secrets.NewAKV()
|
|
sec.SetPassword("123")
|
|
require.NoError(t, act.Store.Set(ctx, "bar", sec))
|
|
require.NoError(t, act.Store.Set(ctx, "baz", sec))
|
|
|
|
require.Error(t, act.Audit(gptest.CliCtxWithFlags(ctx, t, map[string]string{"full": "true"})), buf.String())
|
|
buf.Reset()
|
|
})
|
|
|
|
t.Run("test with filter", func(t *testing.T) {
|
|
c := gptest.CliCtx(ctx, t, "foo")
|
|
require.Error(t, act.Audit(c))
|
|
buf.Reset()
|
|
})
|
|
|
|
t.Run("test empty store", func(t *testing.T) {
|
|
for _, v := range []string{"foo", "bar", "baz"} {
|
|
require.NoError(t, act.Store.Delete(ctx, v))
|
|
}
|
|
require.NoError(t, act.Audit(gptest.CliCtx(ctx, t)))
|
|
assert.Contains(t, "No secrets found", buf.String())
|
|
buf.Reset()
|
|
})
|
|
}
|