33 lines
1.3 KiB
Go
33 lines
1.3 KiB
Go
package cmd
|
|
|
|
import "testing"
|
|
|
|
func TestCommandRequiresStartupVaultUnlock(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
args []string
|
|
want bool
|
|
}{
|
|
{name: "root tui", args: nil, want: true},
|
|
{name: "connect", args: []string{"connect", "prod"}, want: true},
|
|
{name: "short connect alias", args: []string{"c", "prod"}, want: true},
|
|
{name: "add unlocks only if selected auth needs a secret", args: []string{"add", "prod"}, want: false},
|
|
{name: "run can use secrets", args: []string{"run", "prod", "uptime"}, want: true},
|
|
{name: "test can use secrets", args: []string{"test", "prod"}, want: true},
|
|
{name: "vault handles its own unlock", args: []string{"vault", "list"}, want: false},
|
|
{name: "list only reads database", args: []string{"list"}, want: false},
|
|
{name: "show only reads database", args: []string{"show", "prod"}, want: false},
|
|
{name: "search only reads database", args: []string{"search", "prod"}, want: false},
|
|
{name: "config path only reads config", args: []string{"config", "path"}, want: false},
|
|
{name: "help", args: []string{"--help"}, want: false},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
if got := commandRequiresStartupVaultUnlock(tt.args); got != tt.want {
|
|
t.Fatalf("commandRequiresStartupVaultUnlock(%v) = %v; want %v", tt.args, got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|