Files
kubevela/references/cli/config_test.go
Jianbo Sun dd222ac876 refactor cli/dashboard/apiserver to reference folder (#1084)
* refactor cli/dashboard/apiserver to reference folder

* address comments
2021-02-23 13:03:38 +08:00

75 lines
1.5 KiB
Go

package cli
import (
"bytes"
"os"
"strings"
"testing"
"github.com/stretchr/testify/assert"
"github.com/oam-dev/kubevela/pkg/utils/system"
cmdutil "github.com/oam-dev/kubevela/pkg/utils/util"
)
func TestConfigCommand(t *testing.T) {
// Set VELA_HOME to local
assert.NoError(t, os.Setenv(system.VelaHomeEnv, ".test_vela"))
home, err := system.GetVelaHomeDir()
assert.NoError(t, err)
assert.Equal(t, true, strings.HasSuffix(home, ".test_vela"))
defer os.RemoveAll(home)
// Create Default Env
err = system.InitDefaultEnv()
assert.NoError(t, err)
// vela config set test a=b
io := cmdutil.IOStreams{In: os.Stdin, Out: os.Stdout, ErrOut: os.Stderr}
err = setConfig([]string{"test", "a=b"}, io, nil)
if err != nil {
t.Fatal(err)
}
// vela config get test
var b bytes.Buffer
io.Out = &b
err = getConfig([]string{"test"}, io, nil)
if err != nil {
t.Fatal(err)
}
assert.Equal(t, "Data:\n a: b\n", b.String())
// vela config set test2 c=d
io.Out = os.Stdout
err = setConfig([]string{"test2", "c=d"}, io, nil)
if err != nil {
t.Fatal(err)
}
// vela config ls
b = bytes.Buffer{}
io.Out = &b
err = ListConfigs(io, nil)
if err != nil {
t.Fatal(err)
}
assert.Equal(t, "NAME \ntest \ntest2\n", b.String())
// vela config del test
io.Out = os.Stdout
err = deleteConfig([]string{"test"}, io, nil)
if err != nil {
t.Fatal(err)
}
// vela config ls
b = bytes.Buffer{}
io.Out = &b
err = ListConfigs(io, nil)
if err != nil {
t.Fatal(err)
}
assert.Equal(t, "NAME \ntest2\n", b.String())
}