From b51befee82271f7711acbdff152925770d72858f Mon Sep 17 00:00:00 2001 From: Ahmet Alp Balkan Date: Wed, 29 Apr 2020 12:52:08 -0700 Subject: [PATCH] kubens add a short-circuit to bypass API call for tests Signed-off-by: Ahmet Alp Balkan --- cmd/kubens/list.go | 5 +++++ test/kubens.bats | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/cmd/kubens/list.go b/cmd/kubens/list.go index 55e9451..bf7a2d8 100644 --- a/cmd/kubens/list.go +++ b/cmd/kubens/list.go @@ -3,6 +3,7 @@ package main import ( "fmt" "io" + "os" "github.com/pkg/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -49,6 +50,10 @@ func (op ListOp) Run(stdout, stderr io.Writer) error { } func queryNamespaces(kc *kubeconfig.Kubeconfig) ([]string, error) { + if os.Getenv("_MOCK_NAMESPACES") != "" { + return []string{"ns1","ns2"}, nil + } + b, err := kc.Bytes() if err != nil { return nil, errors.Wrap(err, "failed to convert in-memory kubeconfig to yaml") diff --git a/test/kubens.bats b/test/kubens.bats index 847f4c2..b19c5d6 100644 --- a/test/kubens.bats +++ b/test/kubens.bats @@ -1,8 +1,13 @@ #!/usr/bin/env bats COMMAND="${COMMAND:-$BATS_TEST_DIRNAME/../kubens}" + +# TODO(ahmetb) remove this after bash implementations are deleted export KUBECTL="$BATS_TEST_DIRNAME/../test/mock-kubectl" +# short-circuit namespace querying in kubens go implementation +export _MOCK_NAMESPACES=1 + load common @test "--help should not fail" {