Skip to content

Commit ad88584

Browse files
authored
Merge pull request #21737 from bobsira/fix-win-unit-test-testgetcoreclient
Fixed TestGetCoreClient unit test failure on Windows
2 parents 37b032e + f69d63c commit ad88584

File tree

1 file changed

+21
-24
lines changed

1 file changed

+21
-24
lines changed

pkg/minikube/service/service_test.go

Lines changed: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121
"context"
2222
"fmt"
2323
"os"
24+
"path/filepath"
2425
"reflect"
2526
"strings"
2627
"testing"
@@ -712,45 +713,41 @@ preferences: {}
712713
users:
713714
- name: minikube
714715
`
715-
var tests = []struct {
716-
description string
717-
kubeconfigPath string
718-
config string
719-
err bool
716+
tests := []struct {
717+
description string
718+
config string
719+
err bool
720720
}{
721721
{
722-
description: "ok",
723-
kubeconfigPath: "/tmp/kube_config",
724-
config: mockK8sConfig,
725-
err: false,
722+
description: "ok",
723+
config: mockK8sConfig,
724+
err: false,
726725
},
727726
{
728-
description: "empty config",
729-
kubeconfigPath: "/tmp/kube_config",
730-
config: "",
731-
err: true,
727+
description: "empty config",
728+
config: "",
729+
err: true,
732730
},
733731
{
734-
description: "broken config",
735-
kubeconfigPath: "/tmp/kube_config",
736-
config: "this**is&&not: yaml::valid: file",
737-
err: true,
732+
description: "broken config",
733+
config: "this**is&&not: yaml::valid: file",
734+
err: true,
738735
},
739736
}
740737

741738
for _, test := range tests {
742739
t.Run(test.description, func(t *testing.T) {
743-
mockK8sConfigByte := []byte(test.config)
744-
mockK8sConfigPath := test.kubeconfigPath
745-
err := os.WriteFile(mockK8sConfigPath, mockK8sConfigByte, 0644)
746-
defer os.Remove(mockK8sConfigPath)
747-
if err != nil {
748-
t.Fatalf("Unexpected error when writing to file %v. Error: %v", test.kubeconfigPath, err)
740+
tmpDir := t.TempDir()
741+
mockK8sConfigPath := filepath.Join(tmpDir, "kube_config")
742+
743+
if err := os.WriteFile(mockK8sConfigPath, []byte(test.config), 0600); err != nil {
744+
t.Fatalf("failed to write kubeconfig: %v", err)
749745
}
750746
t.Setenv("KUBECONFIG", mockK8sConfigPath)
751747

752748
k8s := K8sClientGetter{}
753-
_, err = k8s.GetCoreClient("minikube")
749+
_, err := k8s.GetCoreClient("minikube")
750+
754751
if err != nil && !test.err {
755752
t.Fatalf("GetCoreClient returned unexpected error: %v", err)
756753
}

0 commit comments

Comments
 (0)