From d15c4aad2d9caa2614271de00b5eda0d41c9df4b Mon Sep 17 00:00:00 2001 From: Andrew Drake Date: Thu, 14 Nov 2019 11:11:34 -0800 Subject: [PATCH] Replace usage of ShellRunner in test suite with mockRunner. --- pkg/helmexec/exec_test.go | 17 +++-------------- pkg/state/state_test.go | 12 +++++++++--- 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/pkg/helmexec/exec_test.go b/pkg/helmexec/exec_test.go index 0bb32ff4..5e95c584 100644 --- a/pkg/helmexec/exec_test.go +++ b/pkg/helmexec/exec_test.go @@ -32,10 +32,7 @@ func MockExecer(logger *zap.SugaredLogger, kubeContext string) *execer { func TestNewHelmExec(t *testing.T) { buffer := bytes.NewBufferString("something") - logger := NewLogger(buffer, "debug") - helm := New("helm", logger, "dev", &ShellRunner{ - Logger: logger, - }) + helm := MockExecer(NewLogger(buffer, "debug"), "dev") if helm.kubeContext != "dev" { t.Error("helmexec.New() - kubeContext") } @@ -48,11 +45,7 @@ func TestNewHelmExec(t *testing.T) { } func Test_SetExtraArgs(t *testing.T) { - buffer := bytes.NewBufferString("something") - logger := NewLogger(buffer, "debug") - helm := New("helm", NewLogger(os.Stdout, "info"), "dev", &ShellRunner{ - Logger: logger, - }) + helm := MockExecer(NewLogger(os.Stdout, "info"), "dev") helm.SetExtraArgs() if len(helm.extra) != 0 { t.Error("helmexec.SetExtraArgs() - passing no arguments should not change extra field") @@ -68,11 +61,7 @@ func Test_SetExtraArgs(t *testing.T) { } func Test_SetHelmBinary(t *testing.T) { - buffer := bytes.NewBufferString("something") - logger := NewLogger(buffer, "debug") - helm := New("helm", NewLogger(os.Stdout, "info"), "dev", &ShellRunner{ - Logger: logger, - }) + helm := MockExecer(NewLogger(os.Stdout, "info"), "dev") if helm.helmBinary != "helm" { t.Error("helmexec.command - default command is not helm") } diff --git a/pkg/state/state_test.go b/pkg/state/state_test.go index caa2c6fb..eb865ce5 100644 --- a/pkg/state/state_test.go +++ b/pkg/state/state_test.go @@ -145,6 +145,14 @@ func boolValue(v bool) *bool { return &v } +// Mocking the command-line runner + +type mockRunner struct{} + +func (mock *mockRunner) Execute(cmd string, args []string, env map[string]string) ([]byte, error) { + return []byte{}, nil +} + func TestHelmState_flagsForUpgrade(t *testing.T) { enable := true disable := false @@ -524,9 +532,7 @@ func TestHelmState_flagsForUpgrade(t *testing.T) { HelmDefaults: tt.defaults, valsRuntime: valsRuntime, } - helm := helmexec.New("helm", logger, "default", &helmexec.ShellRunner{ - Logger: logger, - }) + helm := helmexec.New("helm", logger, "default", &mockRunner{}) args, err := state.flagsForUpgrade(helm, tt.release, 0) if err != nil { t.Errorf("unexpected error flagsForUpgade: %v", err)