1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-03-06 16:06:56 +00:00
kyverno/cmd/cli/kubectl-kyverno/commands/command_test.go
Charles-Edouard Brétéché cad231fc15
feat: add resource migration command (#9296)
* feat: add resource migration command

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* finalize PR

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix unit tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-01-19 11:47:28 +00:00

69 lines
1.6 KiB
Go

package commands
import (
"bytes"
"io"
"strings"
"testing"
"github.com/stretchr/testify/assert"
)
func TestRootCommand(t *testing.T) {
cmd := RootCommand(false)
assert.NotNil(t, cmd)
assert.Len(t, cmd.Commands(), 7)
err := cmd.Execute()
assert.NoError(t, err)
}
func TestRootCommandExperimental(t *testing.T) {
cmd := RootCommand(true)
assert.NotNil(t, cmd)
assert.Len(t, cmd.Commands(), 9)
err := cmd.Execute()
assert.NoError(t, err)
}
func TestRootCommandWithInvalidArg(t *testing.T) {
cmd := RootCommand(false)
assert.NotNil(t, cmd)
b := bytes.NewBufferString("")
cmd.SetErr(b)
cmd.SetArgs([]string{"foo"})
err := cmd.Execute()
assert.Error(t, err)
out, err := io.ReadAll(b)
assert.NoError(t, err)
expected := `
Error: unknown command "foo" for "kyverno"
Run 'kyverno --help' for usage.`
assert.Equal(t, strings.TrimSpace(expected), strings.TrimSpace(string(out)))
}
func TestRootCommandWithInvalidFlag(t *testing.T) {
cmd := RootCommand(false)
assert.NotNil(t, cmd)
b := bytes.NewBufferString("")
cmd.SetErr(b)
cmd.SetArgs([]string{"--xxx"})
err := cmd.Execute()
assert.Error(t, err)
out, err := io.ReadAll(b)
assert.NoError(t, err)
expected := `Error: unknown flag: --xxx`
assert.Equal(t, strings.TrimSpace(expected), strings.TrimSpace(string(out)))
}
func TestRootCommandHelp(t *testing.T) {
cmd := RootCommand(false)
assert.NotNil(t, cmd)
b := bytes.NewBufferString("")
cmd.SetOut(b)
cmd.SetArgs([]string{"--help"})
err := cmd.Execute()
assert.NoError(t, err)
out, err := io.ReadAll(b)
assert.NoError(t, err)
assert.True(t, strings.HasPrefix(string(out), cmd.Long))
}