Replace usage of ShellRunner in test suite with mockRunner.

This commit is contained in:
Andrew Drake 2019-11-14 11:11:34 -08:00
parent c099f69d94
commit d15c4aad2d
2 changed files with 12 additions and 17 deletions

View File

@ -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")
}

View File

@ -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)