Merge pull request #85401 from liggitt/config-quote

Test writing configurations with numeric names

Kubernetes-commit: 060d58ca8c8ebe786073f8b45c0dbd8d652d9969
This commit is contained in:
Kubernetes Publisher 2019-11-22 17:30:44 -08:00
commit c4788cee6e

View File

@ -17,6 +17,7 @@ limitations under the License.
package clientcmd
import (
"bytes"
"fmt"
"io/ioutil"
"os"
@ -29,6 +30,7 @@ import (
"sigs.k8s.io/yaml"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/util/diff"
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
clientcmdlatest "k8s.io/client-go/tools/clientcmd/api/latest"
)
@ -175,6 +177,56 @@ func TestConflictingCurrentContext(t *testing.T) {
}
}
func TestEncodeYAML(t *testing.T) {
config := clientcmdapi.Config{
CurrentContext: "any-context-value",
Contexts: map[string]*clientcmdapi.Context{
"433e40": {
Cluster: "433e40",
},
},
Clusters: map[string]*clientcmdapi.Cluster{
"0": {
Server: "https://localhost:1234",
},
"1": {
Server: "https://localhost:1234",
},
"433e40": {
Server: "https://localhost:1234",
},
},
}
data, err := Write(config)
if err != nil {
t.Fatal(err)
}
expected := []byte(`apiVersion: v1
clusters:
- cluster:
server: https://localhost:1234
name: "0"
- cluster:
server: https://localhost:1234
name: "1"
- cluster:
server: https://localhost:1234
name: "433e40"
contexts:
- context:
cluster: "433e40"
user: ""
name: "433e40"
current-context: any-context-value
kind: Config
preferences: {}
users: null
`)
if !bytes.Equal(expected, data) {
t.Error(diff.ObjectReflectDiff(string(expected), string(data)))
}
}
func TestLoadingEmptyMaps(t *testing.T) {
configFile, _ := ioutil.TempFile("", "")
defer os.Remove(configFile.Name())