...
1
16
17 package set
18
19 import (
20 "testing"
21
22 "github.com/spf13/cobra"
23
24 "k8s.io/cli-runtime/pkg/genericclioptions"
25 "k8s.io/cli-runtime/pkg/genericiooptions"
26
27 clientcmdutil "k8s.io/kubectl/pkg/cmd/util"
28 )
29
30 func TestLocalAndDryRunFlags(t *testing.T) {
31 f := clientcmdutil.NewFactory(genericclioptions.NewTestConfigFlags())
32 setCmd := NewCmdSet(f, genericiooptions.NewTestIOStreamsDiscard())
33 ensureLocalAndDryRunFlagsOnChildren(t, setCmd, "")
34 }
35
36 func ensureLocalAndDryRunFlagsOnChildren(t *testing.T, c *cobra.Command, prefix string) {
37 for _, cmd := range c.Commands() {
38 name := prefix + cmd.Name()
39 if localFlag := cmd.Flag("local"); localFlag == nil {
40 t.Errorf("Command %s does not implement the --local flag", name)
41 }
42 if dryRunFlag := cmd.Flag("dry-run"); dryRunFlag == nil {
43 t.Errorf("Command %s does not implement the --dry-run flag", name)
44 }
45 ensureLocalAndDryRunFlagsOnChildren(t, cmd, name+".")
46 }
47 }
48
View as plain text