fix(#507): support assign --post-renderer within helmfile flags and helmdefault or release config

1. only implement post-renderer flags this patch
2. As mumoshu advise, add helmfile flags `--post-render` and add the
   postRenderer  config in helmDefaults and release. the priority is
   helmfile flags > release > helmDefaults.
3. fix the test case in state_test.go and some other tests.

Signed-off-by: guofutan <guofutan@tencent.com>
Signed-off-by: yxxhero <aiopsclub@163.com>
This commit is contained in:
guofutan
2022-12-13 13:12:07 +08:00
committed by yxxhero
parent 1f0f7ec8d6
commit 0a953731b0
18 changed files with 320 additions and 102 deletions
+24 -23
View File
@@ -69,29 +69,6 @@ func Test_SetExtraArgs(t *testing.T) {
if !reflect.DeepEqual(helm.extra, []string{"alpha", "beta"}) {
t.Error("helmexec.SetExtraArgs() - two extra arguments missing (overwriting the previous value)")
}
helm.SetExtraArgs("--post-renderer=aaa")
fmt.Println(helm.postRenderers)
if !reflect.DeepEqual(helm.postRenderers, []string{"--post-renderer=aaa"}) {
t.Error("helmexec.SetExtraArgs() - post-renderer assign arguments missing ")
}
helm.SetExtraArgs("--post-renderer", "aaa")
fmt.Println(helm.postRenderers)
if !reflect.DeepEqual(helm.postRenderers, []string{"--post-renderer", "aaa"}) {
t.Error("helmexec.SetExtraArgs() - post-renderer blank arguments missing ")
}
helm.SetExtraArgs("--post-renderer-args=bbb")
fmt.Println(helm.postRenderers)
if !reflect.DeepEqual(helm.postRenderers, []string{"--post-renderer-args=bbb"}) {
t.Error("helmexec.SetExtraArgs() - post-renderer-args assign arguments missing")
}
helm.SetExtraArgs("--post-renderer", "aaa", "--post-renderer-args=bbb")
if !reflect.DeepEqual(helm.postRenderers, []string{"--post-renderer", "aaa", "--post-renderer-args=bbb"}) {
t.Error("helmexec.SetExtraArgs() - post-renderer arguments not be set correct")
}
}
func Test_SetHelmBinary(t *testing.T) {
@@ -116,6 +93,30 @@ func Test_SetEnableLiveOutput(t *testing.T) {
}
}
func Test_SetPostRenderer(t *testing.T) {
helm := MockExecer(NewLogger(os.Stdout, "info"), "dev")
if helm.enableLiveOutput {
t.Error("helmexec.enableLiveOutput should not be enabled by default")
}
postRendererFoo := "/bin/rewrite-repo.sh"
helm.SetPostRenderer(postRendererFoo)
if helm.postRenderer != postRendererFoo {
t.Errorf("helmexec.SetPostRenderer() - actual = %s expect = %s", helm.postRenderer, postRendererFoo)
}
}
func Test_GetPostRenderer(t *testing.T) {
helm := MockExecer(NewLogger(os.Stdout, "info"), "dev")
if helm.enableLiveOutput {
t.Error("helmexec.enableLiveOutput should not be enabled by default")
}
postRendererFoo := "/bin/rewrite-repo.sh"
helm.SetPostRenderer(postRendererFoo)
if helm.GetPostRenderer() != postRendererFoo {
t.Errorf("helmexec.GetPostRenderer() - actual = %s expect = %s", helm.GetPostRenderer(), postRendererFoo)
}
}
func Test_AddRepo_Helm_3_3_2(t *testing.T) {
var buffer bytes.Buffer
logger := NewLogger(&buffer, "debug")