From 4098745500dbe079875105cb27bee5fd9634cd81 Mon Sep 17 00:00:00 2001 From: aprindle Date: Wed, 1 Jun 2016 15:26:17 -0700 Subject: [PATCH] Added ssh integration test and updated RunCommand in util.go --- test/integration/cluster_ssh_test.go | 37 ++++++++++++++++++++++++++++ test/integration/util/util.go | 9 +++++-- 2 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 test/integration/cluster_ssh_test.go diff --git a/test/integration/cluster_ssh_test.go b/test/integration/cluster_ssh_test.go new file mode 100644 index 0000000000..c936612230 --- /dev/null +++ b/test/integration/cluster_ssh_test.go @@ -0,0 +1,37 @@ +// +build integration + +/* +Copyright 2016 The Kubernetes Authors All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package integration + +import ( + "k8s.io/minikube/test/integration/util" + "strings" + "testing" +) + +func TestClusterSSH(t *testing.T) { + minikubeRunner := util.MinikubeRunner{BinaryPath: *binaryPath, T: t} + minikubeRunner.RunCommand("start", true) + minikubeRunner.CheckStatus("Running") + + expectedStr := "hello" + sshCmdOutput := minikubeRunner.RunCommand("ssh echo "+expectedStr, true) + if !strings.Contains(sshCmdOutput, expectedStr) { + t.Fatalf("ExpectedStr sshCmdOutput to be: %s. Output was: %s", expectedStr, sshCmdOutput) + } +} diff --git a/test/integration/util/util.go b/test/integration/util/util.go index 749f5af510..1c20179d08 100644 --- a/test/integration/util/util.go +++ b/test/integration/util/util.go @@ -35,12 +35,17 @@ type MinikubeRunner struct { } func (m *MinikubeRunner) RunCommand(command string, checkError bool) string { + commandArr := strings.Split(command, " ") path, _ := filepath.Abs(m.BinaryPath) - cmd := exec.Command(path, command) + cmd := exec.Command(path, commandArr...) stdout, err := cmd.Output() if checkError && err != nil { - m.T.Fatalf("Error running command: %s %s. Output: %s", command, err, stdout) + if exitError, ok := err.(*exec.ExitError); ok { + m.T.Fatalf("Error running command: %s %s. Output: %s", command, exitError.Stderr, stdout) + } else { + m.T.Fatalf("Error running command: %s %s. Output: %s", command, err, stdout) + } } return string(stdout) }