diff --git a/staging/src/k8s.io/client-go/tools/clientcmd/validation.go b/staging/src/k8s.io/client-go/tools/clientcmd/validation.go index ceeeb042e8e..18cf2680a55 100644 --- a/staging/src/k8s.io/client-go/tools/clientcmd/validation.go +++ b/staging/src/k8s.io/client-go/tools/clientcmd/validation.go @@ -167,7 +167,8 @@ func ConfirmUsable(config clientcmdapi.Config, passedContextName string) error { func validateClusterInfo(clusterName string, clusterInfo clientcmdapi.Cluster) []error { validationErrors := make([]error, 0) - if reflect.DeepEqual(clientcmdapi.Cluster{}, clusterInfo) { + emptyCluster := clientcmdapi.NewCluster() + if reflect.DeepEqual(*emptyCluster, clusterInfo) { return []error{ErrEmptyCluster} } diff --git a/staging/src/k8s.io/client-go/tools/clientcmd/validation_test.go b/staging/src/k8s.io/client-go/tools/clientcmd/validation_test.go index ab7dc268519..6441f148376 100644 --- a/staging/src/k8s.io/client-go/tools/clientcmd/validation_test.go +++ b/staging/src/k8s.io/client-go/tools/clientcmd/validation_test.go @@ -187,7 +187,7 @@ func TestValidateEmptyContext(t *testing.T) { func TestValidateEmptyClusterInfo(t *testing.T) { config := clientcmdapi.NewConfig() - config.Clusters["empty"] = &clientcmdapi.Cluster{} + config.Clusters["empty"] = clientcmdapi.NewCluster() test := configValidationTest{ config: config, expectedErrorSubstring: []string{"cluster has no server defined"}, @@ -196,6 +196,19 @@ func TestValidateEmptyClusterInfo(t *testing.T) { test.testCluster("empty", t) test.testConfig(t) } + +func TestValidateClusterInfoErrEmptyCluster(t *testing.T) { + cluster := clientcmdapi.NewCluster() + errs := validateClusterInfo("", *cluster) + + if len(errs) != 1 { + t.Fatalf("unexpected errors: %v", errs) + } + if errs[0] != ErrEmptyCluster { + t.Errorf("unexpected error: %v", errs[0]) + } +} + func TestValidateMissingCAFileClusterInfo(t *testing.T) { config := clientcmdapi.NewConfig() config.Clusters["missing ca"] = &clientcmdapi.Cluster{