From 34865774a89db5f5b8684d5dd1042f6f4c2b21d0 Mon Sep 17 00:00:00 2001 From: Maciej Szulik Date: Fri, 17 Apr 2020 17:50:24 +0200 Subject: [PATCH] Fix kubectl version test to tolerate Run error coming from default localhost:8080 --- staging/src/k8s.io/kubectl/pkg/cmd/version/BUILD | 1 + .../kubectl/pkg/cmd/version/version_test.go | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/staging/src/k8s.io/kubectl/pkg/cmd/version/BUILD b/staging/src/k8s.io/kubectl/pkg/cmd/version/BUILD index 622835ebfc3..5bf7b43e094 100644 --- a/staging/src/k8s.io/kubectl/pkg/cmd/version/BUILD +++ b/staging/src/k8s.io/kubectl/pkg/cmd/version/BUILD @@ -27,6 +27,7 @@ go_test( deps = [ "//staging/src/k8s.io/cli-runtime/pkg/genericclioptions:go_default_library", "//staging/src/k8s.io/kubectl/pkg/cmd/util:go_default_library", + "//vendor/github.com/spf13/cobra:go_default_library", ], ) diff --git a/staging/src/k8s.io/kubectl/pkg/cmd/version/version_test.go b/staging/src/k8s.io/kubectl/pkg/cmd/version/version_test.go index 376602412a1..5b1fbf1f581 100644 --- a/staging/src/k8s.io/kubectl/pkg/cmd/version/version_test.go +++ b/staging/src/k8s.io/kubectl/pkg/cmd/version/version_test.go @@ -20,6 +20,8 @@ import ( "strings" "testing" + "github.com/spf13/cobra" + "k8s.io/cli-runtime/pkg/genericclioptions" cmdutil "k8s.io/kubectl/pkg/cmd/util" ) @@ -27,9 +29,17 @@ import ( func TestNewCmdVersionWithoutConfigFile(t *testing.T) { tf := cmdutil.NewFactory(&genericclioptions.ConfigFlags{}) streams, _, buf, _ := genericclioptions.NewTestIOStreams() - cmd := NewCmdVersion(tf, streams) - cmd.SetOutput(buf) - if err := cmd.Execute(); err != nil { + o := NewOptions(streams) + if err := o.Complete(tf, &cobra.Command{}); err != nil { + t.Errorf("Unexpected error: %v", err) + } + if err := o.Validate(); err != nil { + t.Errorf("Unexpected error: %v", err) + } + // FIXME soltysh: + // since we have defaulting to localhost:8080 in staging/src/k8s.io/client-go/tools/clientcmd/client_config.go#getDefaultServer + // we need to ignore the localhost:8080 server, when above gets removed this should be dropped too + if err := o.Run(); err != nil && !strings.Contains(err.Error(), "localhost:8080") { t.Errorf("Cannot execute version command: %v", err) } if !strings.Contains(buf.String(), "Client Version") {