pull/32526/merge
ulofiai 1 month ago committed by GitHub
commit 3c4d75539b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -191,6 +191,16 @@ func manuallyProcessArgs(args []string) ([]string, []string) {
switch a := args[i]; a { switch a := args[i]; a {
case "--debug": case "--debug":
known = append(known, a) known = append(known, a)
case "--kube-insecure-skip-tls-verify":
known = append(known, a)
// Boolean flags do not require a value. Only consume the next
// argument when it is an explicit boolean value.
if i+1 < len(args) {
if _, err := strconv.ParseBool(args[i+1]); err == nil {
known[len(known)-1] += "=" + args[i+1]
i++
}
}
case isKnown(a): case isKnown(a):
known = append(known, a) known = append(known, a)
i++ i++

@ -79,6 +79,43 @@ func TestManuallyProcessArgs(t *testing.T) {
} }
} }
func TestManuallyProcessArgsBooleanFlag(t *testing.T) {
tests := []struct {
name string
input []string
expectKnown []string
expectUnknown []string
}{
{
name: "bare boolean flag",
input: []string{"--kube-insecure-skip-tls-verify", "--version", "1.0.3"},
expectKnown: []string{"--kube-insecure-skip-tls-verify"},
expectUnknown: []string{"--version", "1.0.3"},
},
{
name: "separate boolean value",
input: []string{"--kube-insecure-skip-tls-verify", "false", "--version", "1.0.3"},
expectKnown: []string{"--kube-insecure-skip-tls-verify=false"},
expectUnknown: []string{"--version", "1.0.3"},
},
{
name: "inline boolean value",
input: []string{"--kube-insecure-skip-tls-verify=true", "--version", "1.0.3"},
expectKnown: []string{"--kube-insecure-skip-tls-verify=true"},
expectUnknown: []string{"--version", "1.0.3"},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
known, unknown := manuallyProcessArgs(tt.input)
assert.Equal(t, tt.expectKnown, known)
assert.Equal(t, tt.expectUnknown, unknown)
})
}
}
func TestLoadCLIPlugins(t *testing.T) { func TestLoadCLIPlugins(t *testing.T) {
settings.PluginsDirectory = "testdata/helmhome/helm/plugins" settings.PluginsDirectory = "testdata/helmhome/helm/plugins"
settings.RepositoryConfig = "testdata/helmhome/helm/repositories.yaml" settings.RepositoryConfig = "testdata/helmhome/helm/repositories.yaml"

Loading…
Cancel
Save