fix TestGetCoreClient windows unit test

pull/21737/head
Bob Sira 2025-10-27 12:29:05 +00:00
parent e4c891741a
commit f69d63c15b
1 changed files with 21 additions and 24 deletions

View File

@ -21,6 +21,7 @@ import (
"context" "context"
"fmt" "fmt"
"os" "os"
"path/filepath"
"reflect" "reflect"
"strings" "strings"
"testing" "testing"
@ -712,45 +713,41 @@ preferences: {}
users: users:
- name: minikube - name: minikube
` `
var tests = []struct { tests := []struct {
description string description string
kubeconfigPath string config string
config string err bool
err bool
}{ }{
{ {
description: "ok", description: "ok",
kubeconfigPath: "/tmp/kube_config", config: mockK8sConfig,
config: mockK8sConfig, err: false,
err: false,
}, },
{ {
description: "empty config", description: "empty config",
kubeconfigPath: "/tmp/kube_config", config: "",
config: "", err: true,
err: true,
}, },
{ {
description: "broken config", description: "broken config",
kubeconfigPath: "/tmp/kube_config", config: "this**is&&not: yaml::valid: file",
config: "this**is&&not: yaml::valid: file", err: true,
err: true,
}, },
} }
for _, test := range tests { for _, test := range tests {
t.Run(test.description, func(t *testing.T) { t.Run(test.description, func(t *testing.T) {
mockK8sConfigByte := []byte(test.config) tmpDir := t.TempDir()
mockK8sConfigPath := test.kubeconfigPath mockK8sConfigPath := filepath.Join(tmpDir, "kube_config")
err := os.WriteFile(mockK8sConfigPath, mockK8sConfigByte, 0644)
defer os.Remove(mockK8sConfigPath) if err := os.WriteFile(mockK8sConfigPath, []byte(test.config), 0600); err != nil {
if err != nil { t.Fatalf("failed to write kubeconfig: %v", err)
t.Fatalf("Unexpected error when writing to file %v. Error: %v", test.kubeconfigPath, err)
} }
t.Setenv("KUBECONFIG", mockK8sConfigPath) t.Setenv("KUBECONFIG", mockK8sConfigPath)
k8s := K8sClientGetter{} k8s := K8sClientGetter{}
_, err = k8s.GetCoreClient("minikube") _, err := k8s.GetCoreClient("minikube")
if err != nil && !test.err { if err != nil && !test.err {
t.Fatalf("GetCoreClient returned unexpected error: %v", err) t.Fatalf("GetCoreClient returned unexpected error: %v", err)
} }