87 lines
2.2 KiB
Go
87 lines
2.2 KiB
Go
package kubectl
|
|
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
"errors"
|
|
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
var MOCK_ENABLE = true
|
|
|
|
func TestKubectCurrentContext(t *testing.T) {
|
|
|
|
cmd := getCmdKubectl(MOCK_ENABLE, "minikube")
|
|
|
|
res, err := cmd.GetCurrentContext()
|
|
|
|
assert.Nilf(t, err, "error message %s", err)
|
|
assert.Equal(t, "minikube", res, "TestKubectCurrentContext error")
|
|
}
|
|
|
|
func TestKubectContext(t *testing.T) {
|
|
|
|
fileName := filepath.Join(TEST_SRC_DIR, "context.json")
|
|
cmd_json, _ := os.ReadFile(fileName)
|
|
|
|
cmd := getCmdKubectl(MOCK_ENABLE, string(cmd_json))
|
|
|
|
currentContext, currentNamespace, currentServer, err := cmd.GetContext()
|
|
|
|
assert.Nilf(t, err, "error message %s", err)
|
|
assert.Equal(t, "minikube", currentContext, "TestKubectContext error")
|
|
assert.Equal(t, "default", currentNamespace, "TestKubectContext error")
|
|
assert.Equal(t, "https://127.0.0.1:38039", currentServer, "TestKubectContext error")
|
|
}
|
|
|
|
func TestKubectUseContext(t *testing.T) {
|
|
|
|
cmd := getCmdKubectl(MOCK_ENABLE, `Switched to context "minikube".`)
|
|
|
|
err := cmd.UseContext("minikube")
|
|
|
|
assert.Nilf(t, err, "error message %s", err)
|
|
}
|
|
|
|
func TestKubectUseContextErr(t *testing.T) {
|
|
|
|
error := errors.New("exit 1")
|
|
cmd := getCmdKubectlError(MOCK_ENABLE, `error: no context exists with the name: "minikube2"`, error)
|
|
|
|
err := cmd.UseContext("minikube2")
|
|
|
|
assert.NotNilf(t, err, "error message %s", err)
|
|
}
|
|
|
|
func TestKubectCheck(t *testing.T) {
|
|
|
|
cmd_txt := `
|
|
Kubernetes control plane is running at https://127.0.0.1:38039
|
|
CoreDNS is running at https://127.0.0.1:38039/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
|
|
|
|
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
|
|
`
|
|
// error := errors.New("exit 1")
|
|
cmd := getCmdKubectl(MOCK_ENABLE, cmd_txt)
|
|
|
|
err := cmd.Check()
|
|
|
|
assert.Nilf(t, err, "error message %s", err)
|
|
}
|
|
|
|
func TestKubectCheckErr(t *testing.T) {
|
|
|
|
cmd_txt := ""
|
|
|
|
error := errors.New("exit 1")
|
|
cmd := getCmdKubectlError(MOCK_ENABLE, cmd_txt, error)
|
|
|
|
err := cmd.Check()
|
|
|
|
assert.NotNilf(t, err, "error message %s", "TestKubectCheckErr")
|
|
}
|