Test writing configurations with numeric names

Kubernetes-commit: 1f2feb2e7ec307fafa615e001ccb9bbac7d273db
This commit is contained in:
Jordan Liggitt
2019-11-17 14:36:52 -05:00
committed by Kubernetes Publisher
parent 775f4ddf38
commit a2a1463427

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())