gopasspw--gopass
96 行
2.3 KiB
Go
96 行
2.3 KiB
Go
package tests
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/gopasspw/gopass/pkg/fsutil"
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestBaseConfig(t *testing.T) {
|
|
ts := newTester(t)
|
|
defer ts.teardown()
|
|
|
|
out, err := ts.run("config")
|
|
require.NoError(t, err)
|
|
|
|
wanted := `age.agent-enabled = false
|
|
age.agent-timeout = 0
|
|
core.autopush = true
|
|
core.autosync = true
|
|
core.casefold = false
|
|
core.cliptimeout = 45
|
|
core.exportkeys = false
|
|
core.follow-references = false
|
|
core.notifications = true
|
|
`
|
|
wanted += "mounts.path = " + ts.storeDir("root") + "\n" +
|
|
`pwgen.xkcd-lang = en
|
|
show.fuzzysearch = true`
|
|
|
|
assert.Equal(t, wanted, out)
|
|
|
|
invertables := []string{
|
|
"core.autoimport",
|
|
"show.safecontent",
|
|
}
|
|
|
|
for _, invert := range invertables {
|
|
t.Run("invert "+invert, func(t *testing.T) {
|
|
arg := "config " + invert + " false"
|
|
out, err = ts.run(arg)
|
|
require.NoError(t, err, "Running gopass "+arg)
|
|
assert.Equal(t, "false", out, "Output of gopass "+arg)
|
|
|
|
arg = "config " + invert
|
|
out, err = ts.run(arg)
|
|
require.NoError(t, err, "Running gopass "+arg)
|
|
assert.Equal(t, "false", out, "Output of gopass "+arg)
|
|
})
|
|
}
|
|
|
|
t.Run("cliptimeout", func(t *testing.T) {
|
|
out, err = ts.run("config core.cliptimeout 120")
|
|
require.NoError(t, err)
|
|
assert.Equal(t, "120", out)
|
|
|
|
out, err = ts.run("config core.cliptimeout")
|
|
require.NoError(t, err)
|
|
assert.Equal(t, "120", out)
|
|
})
|
|
}
|
|
|
|
func TestMountConfig(t *testing.T) {
|
|
ts := newTester(t)
|
|
defer ts.teardown()
|
|
|
|
// we add a mount:
|
|
_, err := ts.run("init --store mnt/m1 --path " + ts.storeDir("m1") + " --storage=fs " + keyID)
|
|
require.NoError(t, err)
|
|
|
|
_, err = ts.run("config")
|
|
require.NoError(t, err)
|
|
|
|
wanted := `age.agent-enabled = false
|
|
age.agent-timeout = 0
|
|
core.autopush = true
|
|
core.autosync = true
|
|
core.casefold = false
|
|
core.cliptimeout = 45
|
|
core.exportkeys = false
|
|
core.follow-references = false
|
|
core.notifications = true
|
|
`
|
|
wanted += "mounts.mnt/m1.path = " + fsutil.ShrinkPath(ts.storeDir("m1")) + "\n"
|
|
wanted += "mounts.path = " + ts.storeDir("root") + "\n"
|
|
wanted += "pwgen.xkcd-lang = en\n"
|
|
wanted += "recipients.mnt/m1.hash = 9a4c4b1e0eb9ade2e692ff948f43d9668145eca3df88ffff67e0e21426252907\n"
|
|
wanted += "show.fuzzysearch = true\n"
|
|
|
|
out, err := ts.run("config")
|
|
require.NoError(t, err)
|
|
assert.Equal(t, strings.TrimSpace(wanted), out)
|
|
}
|