Files
kustomize/api/internal/generators/utils_test.go
Anna Song 71eb865cea Localize configMapGenerator, secretGenerator fields (#4894)
* Localize configMapGenerator, secretGenerator fields

* Improve readability

* Expose kv parseFileSource

* Add localizeGenerator to Localizer

* Improve and test ParseFileSource error messages
2022-12-02 15:31:53 -08:00

52 lines
1.1 KiB
Go

// Copyright 2020 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package generators_test
import (
"testing"
"github.com/stretchr/testify/require"
. "sigs.k8s.io/kustomize/api/internal/generators"
)
func TestParseFileSource(t *testing.T) {
tests := map[string]*struct {
Input string
Error string
Key string
Filename string
}{
"filename only": {
Input: "./path/myfile",
Key: "myfile",
Filename: "./path/myfile",
},
"key and filename": {
Input: "newName.ini=oldName",
Key: "newName.ini",
Filename: "oldName",
},
"multiple =": {
Input: "newName.ini==oldName",
Error: `source "newName.ini==oldName" key name or file path contains '='`,
},
"missing key": {
Input: "=myfile",
Error: `missing key name for file path "myfile" in source "=myfile"`,
},
}
for name, test := range tests {
t.Run(name, func(t *testing.T) {
key, file, err := ParseFileSource(test.Input)
if test.Error != "" {
require.EqualError(t, err, test.Error)
} else {
require.NoError(t, err)
require.Equal(t, test.Key, key)
require.Equal(t, test.Filename, file)
}
})
}
}