mirror of https://github.com/k3s-io/k3s
Refactor map field handling for clientcmd.LoadFromFile
parent
961a02a602
commit
1cb58baf2f
|
@ -240,6 +240,16 @@ func LoadFromFile(filename string) (*clientcmdapi.Config, error) {
|
||||||
config.Contexts[key] = obj
|
config.Contexts[key] = obj
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if config.AuthInfos == nil {
|
||||||
|
config.AuthInfos = map[string]*clientcmdapi.AuthInfo{}
|
||||||
|
}
|
||||||
|
if config.Clusters == nil {
|
||||||
|
config.Clusters = map[string]*clientcmdapi.Cluster{}
|
||||||
|
}
|
||||||
|
if config.Contexts == nil {
|
||||||
|
config.Contexts = map[string]*clientcmdapi.Context{}
|
||||||
|
}
|
||||||
|
|
||||||
return config, nil
|
return config, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -174,6 +174,32 @@ func TestConflictingCurrentContext(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestLoadingEmptyMaps(t *testing.T) {
|
||||||
|
configFile, _ := ioutil.TempFile("", "")
|
||||||
|
defer os.Remove(configFile.Name())
|
||||||
|
|
||||||
|
mockConfig := clientcmdapi.Config{
|
||||||
|
CurrentContext: "any-context-value",
|
||||||
|
}
|
||||||
|
|
||||||
|
WriteToFile(mockConfig, configFile.Name())
|
||||||
|
|
||||||
|
config, err := LoadFromFile(configFile.Name())
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("Unexpected error: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if config.Clusters == nil {
|
||||||
|
t.Error("expected config.Clusters to be non-nil")
|
||||||
|
}
|
||||||
|
if config.AuthInfos == nil {
|
||||||
|
t.Error("expected config.AuthInfos to be non-nil")
|
||||||
|
}
|
||||||
|
if config.Contexts == nil {
|
||||||
|
t.Error("expected config.Contexts to be non-nil")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestResolveRelativePaths(t *testing.T) {
|
func TestResolveRelativePaths(t *testing.T) {
|
||||||
pathResolutionConfig1 := clientcmdapi.Config{
|
pathResolutionConfig1 := clientcmdapi.Config{
|
||||||
AuthInfos: map[string]*clientcmdapi.AuthInfo{
|
AuthInfos: map[string]*clientcmdapi.AuthInfo{
|
||||||
|
|
|
@ -430,10 +430,6 @@ func getConfigFromFileOrDie(filename string) *clientcmdapi.Config {
|
||||||
return clientcmdapi.NewConfig()
|
return clientcmdapi.NewConfig()
|
||||||
}
|
}
|
||||||
|
|
||||||
if config.Clusters == nil {
|
|
||||||
config.Clusters = map[string]*clientcmdapi.Cluster{}
|
|
||||||
}
|
|
||||||
|
|
||||||
return config
|
return config
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue