mirror of
https://github.com/kubevela/kubevela.git
synced 2026-08-27 16:17:34 +00:00
Fix: Optimize error msg of addon enable/upgrade local path (#3222)
* Optimize error msg of addon enable/upgrade local path Signed-off-by: zhukunshuai <jookunshuai@gmail.com> * Fix and add unit test Signed-off-by: zhukunshuai <jookunshuai@gmail.com> * Run make reviewable to include all changes Signed-off-by: zhukunshuai <jookunshuai@gmail.com> * remove test case for windows Signed-off-by: zhukunshuai <jookunshuai@gmail.com> * fix unit test. Signed-off-by: zhukunshuai <jookunshuai@gmail.com>
This commit is contained in:
@@ -148,6 +148,10 @@ func NewAddonEnableCommand(c common.Args, ioStream cmdutil.IOStreams) *cobra.Com
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
if filepath.IsAbs(addonOrDir) || strings.HasPrefix(addonOrDir, ".") || strings.HasSuffix(addonOrDir, "/") {
|
||||
return fmt.Errorf("addon directory %s not found in local", addonOrDir)
|
||||
}
|
||||
|
||||
err = enableAddon(ctx, k8sClient, config, name, addonArgs)
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -222,6 +226,10 @@ func NewAddonUpgradeCommand(c common.Args, ioStream cmdutil.IOStreams) *cobra.Co
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
if filepath.IsAbs(addonOrDir) || strings.HasPrefix(addonOrDir, ".") || strings.HasSuffix(addonOrDir, "/") {
|
||||
return fmt.Errorf("addon directory %s not found in local", addonOrDir)
|
||||
}
|
||||
|
||||
_, err = pkgaddon.FetchAddonRelatedApp(context.Background(), k8sClient, addonOrDir)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "cannot fetch addon related addon %s", addonOrDir)
|
||||
|
||||
@@ -19,6 +19,9 @@ package cli
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/oam-dev/kubevela/pkg/utils/common"
|
||||
"github.com/oam-dev/kubevela/pkg/utils/util"
|
||||
|
||||
"gotest.tools/assert"
|
||||
)
|
||||
|
||||
@@ -70,3 +73,55 @@ func TestParseMap(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestAddonEnableCmdWithErrLocalPath(t *testing.T) {
|
||||
testcase := []struct {
|
||||
args []string
|
||||
errMsg string
|
||||
}{
|
||||
{
|
||||
args: []string{"./a_local_path"},
|
||||
errMsg: "addon directory ./a_local_path not found in local",
|
||||
},
|
||||
{
|
||||
args: []string{"a_local_path/"},
|
||||
errMsg: "addon directory a_local_path/ not found in local",
|
||||
},
|
||||
}
|
||||
|
||||
ioStream := util.IOStreams{}
|
||||
commandArgs := common.Args{}
|
||||
cmd := NewAddonEnableCommand(commandArgs, ioStream)
|
||||
|
||||
for _, s := range testcase {
|
||||
cmd.SetArgs(s.args)
|
||||
err := cmd.Execute()
|
||||
assert.Error(t, err, s.errMsg)
|
||||
}
|
||||
}
|
||||
|
||||
func TestAddonUpgradeCmdWithErrLocalPath(t *testing.T) {
|
||||
testcase := []struct {
|
||||
args []string
|
||||
errMsg string
|
||||
}{
|
||||
{
|
||||
args: []string{"./a_local_path"},
|
||||
errMsg: "addon directory ./a_local_path not found in local",
|
||||
},
|
||||
{
|
||||
args: []string{"a_local_path/"},
|
||||
errMsg: "addon directory a_local_path/ not found in local",
|
||||
},
|
||||
}
|
||||
|
||||
ioStream := util.IOStreams{}
|
||||
commandArgs := common.Args{}
|
||||
cmd := NewAddonUpgradeCommand(commandArgs, ioStream)
|
||||
|
||||
for _, s := range testcase {
|
||||
cmd.SetArgs(s.args)
|
||||
err := cmd.Execute()
|
||||
assert.Error(t, err, s.errMsg)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user