2020-10-15 10:48:41 -07:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
)
|
|
|
|
|
|
|
|
type kubectlArgs struct {
|
|
|
|
enabled bool
|
|
|
|
contextName string
|
|
|
|
}
|
|
|
|
|
|
|
|
func bootStrapKubectlTest(args *kubectlArgs) *kubectl {
|
|
|
|
env := new(MockedEnvironment)
|
|
|
|
env.On("hasCommand", "kubectl").Return(args.enabled)
|
2020-10-16 08:43:02 -07:00
|
|
|
env.On("runCommand", "kubectl", []string{"config", "current-context"}).Return(args.contextName, nil)
|
2020-10-15 10:48:41 -07:00
|
|
|
k := &kubectl{
|
|
|
|
env: env,
|
|
|
|
props: &properties{},
|
|
|
|
}
|
|
|
|
return k
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestKubectlWriterDisabled(t *testing.T) {
|
|
|
|
args := &kubectlArgs{
|
|
|
|
enabled: false,
|
|
|
|
}
|
|
|
|
kubectl := bootStrapKubectlTest(args)
|
|
|
|
assert.False(t, kubectl.enabled())
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestKubectlEnabled(t *testing.T) {
|
|
|
|
expected := "context-name"
|
|
|
|
args := &kubectlArgs{
|
|
|
|
enabled: true,
|
|
|
|
contextName: expected,
|
|
|
|
}
|
|
|
|
kubectl := bootStrapKubectlTest(args)
|
|
|
|
assert.True(t, kubectl.enabled())
|
|
|
|
assert.Equal(t, expected, kubectl.string())
|
|
|
|
}
|