mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-05-18 05:35:47 +00:00
* Localize configMapGenerator, secretGenerator fields * Improve readability * Expose kv parseFileSource * Add localizeGenerator to Localizer * Improve and test ParseFileSource error messages
52 lines
1.1 KiB
Go
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)
|
|
}
|
|
})
|
|
}
|
|
}
|