mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-09-15 12:18:57 +00:00
Handle errors
This commit is contained in:
@@ -560,7 +560,7 @@ func isLegalFileNameForCreation(n string) bool {
|
|||||||
func (n *fsNode) RegExpGlob(pattern string) ([]string, error) {
|
func (n *fsNode) RegExpGlob(pattern string) ([]string, error) {
|
||||||
var result []string
|
var result []string
|
||||||
var expression = regexp.MustCompile(pattern)
|
var expression = regexp.MustCompile(pattern)
|
||||||
n.WalkMe(func(path string, info os.FileInfo, err error) error {
|
err := n.WalkMe(func(path string, info os.FileInfo, err error) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -571,6 +571,9 @@ func (n *fsNode) RegExpGlob(pattern string) ([]string, error) {
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
sort.Strings(result)
|
sort.Strings(result)
|
||||||
return result, nil
|
return result, nil
|
||||||
}
|
}
|
||||||
@@ -582,7 +585,7 @@ func (n *fsNode) RegExpGlob(pattern string) ([]string, error) {
|
|||||||
// This is how /bin/ls behaves.
|
// This is how /bin/ls behaves.
|
||||||
func (n *fsNode) Glob(pattern string) ([]string, error) {
|
func (n *fsNode) Glob(pattern string) ([]string, error) {
|
||||||
var result []string
|
var result []string
|
||||||
n.WalkMe(func(path string, info os.FileInfo, err error) error {
|
err := n.WalkMe(func(path string, info os.FileInfo, err error) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -597,6 +600,9 @@ func (n *fsNode) Glob(pattern string) ([]string, error) {
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
sort.Strings(result)
|
sort.Strings(result)
|
||||||
return result, nil
|
return result, nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -178,9 +178,12 @@ func loadCrdIntoConfig(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if property.Ref.GetURL() != nil {
|
if property.Ref.GetURL() != nil {
|
||||||
loadCrdIntoConfig(
|
err = loadCrdIntoConfig(
|
||||||
theConfig, theGvk, theMap,
|
theConfig, theGvk, theMap,
|
||||||
property.Ref.String(), append(path, propName))
|
property.Ref.String(), append(path, propName))
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import (
|
|||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
"sigs.k8s.io/kustomize/api/filesys"
|
"sigs.k8s.io/kustomize/api/filesys"
|
||||||
. "sigs.k8s.io/kustomize/api/internal/accumulator"
|
. "sigs.k8s.io/kustomize/api/internal/accumulator"
|
||||||
"sigs.k8s.io/kustomize/api/internal/plugins/builtinconfig"
|
"sigs.k8s.io/kustomize/api/internal/plugins/builtinconfig"
|
||||||
@@ -162,16 +163,13 @@ func TestLoadCRDs(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fSys := filesys.MakeFsInMemory()
|
fSys := filesys.MakeFsInMemory()
|
||||||
fSys.WriteFile("/testpath/crd.json", []byte(crdContent))
|
err := fSys.WriteFile("/testpath/crd.json", []byte(crdContent))
|
||||||
|
require.NoError(t, err)
|
||||||
ldr, err := loader.NewLoader(loader.RestrictionRootOnly, "/testpath", fSys)
|
ldr, err := loader.NewLoader(loader.RestrictionRootOnly, "/testpath", fSys)
|
||||||
if err != nil {
|
require.NoError(t, err)
|
||||||
t.Fatalf("unexpected error:%v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
actualTc, err := LoadConfigFromCRDs(ldr, []string{"crd.json"})
|
actualTc, err := LoadConfigFromCRDs(ldr, []string{"crd.json"})
|
||||||
if err != nil {
|
require.NoError(t, err)
|
||||||
t.Fatalf("unexpected error:%v", err)
|
|
||||||
}
|
|
||||||
if !reflect.DeepEqual(actualTc, expectedTc) {
|
if !reflect.DeepEqual(actualTc, expectedTc) {
|
||||||
t.Fatalf("expected\n %v\n but got\n %v\n", expectedTc, actualTc)
|
t.Fatalf("expected\n %v\n but got\n %v\n", expectedTc, actualTc)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
. "sigs.k8s.io/kustomize/api/internal/accumulator"
|
. "sigs.k8s.io/kustomize/api/internal/accumulator"
|
||||||
"sigs.k8s.io/kustomize/api/internal/plugins/builtinconfig"
|
"sigs.k8s.io/kustomize/api/internal/plugins/builtinconfig"
|
||||||
"sigs.k8s.io/kustomize/api/provider"
|
"sigs.k8s.io/kustomize/api/provider"
|
||||||
@@ -224,20 +225,26 @@ func TestResolveVarConflicts(t *testing.T) {
|
|||||||
// create accumulators holding apparently conflicting vars that are not
|
// create accumulators holding apparently conflicting vars that are not
|
||||||
// actually in conflict because they point to the same concrete value.
|
// actually in conflict because they point to the same concrete value.
|
||||||
rm0 := resmap.New()
|
rm0 := resmap.New()
|
||||||
rm0.Append(rf.FromMap(fooAws))
|
err := rm0.Append(rf.FromMap(fooAws))
|
||||||
|
require.NoError(t, err)
|
||||||
ac0 := MakeEmptyAccumulator()
|
ac0 := MakeEmptyAccumulator()
|
||||||
ac0.AppendAll(rm0)
|
err = ac0.AppendAll(rm0)
|
||||||
ac0.MergeVars([]types.Var{varFoo})
|
require.NoError(t, err)
|
||||||
|
err = ac0.MergeVars([]types.Var{varFoo})
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
rm1 := resmap.New()
|
rm1 := resmap.New()
|
||||||
rm1.Append(rf.FromMap(barAws))
|
err = rm1.Append(rf.FromMap(barAws))
|
||||||
|
require.NoError(t, err)
|
||||||
ac1 := MakeEmptyAccumulator()
|
ac1 := MakeEmptyAccumulator()
|
||||||
ac1.AppendAll(rm1)
|
err = ac1.AppendAll(rm1)
|
||||||
ac1.MergeVars([]types.Var{varBar})
|
require.NoError(t, err)
|
||||||
|
err = ac1.MergeVars([]types.Var{varBar})
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
// validate that two vars of the same name which reference the same concrete
|
// validate that two vars of the same name which reference the same concrete
|
||||||
// value do not produce a conflict.
|
// value do not produce a conflict.
|
||||||
err := ac0.MergeAccumulator(ac1)
|
err = ac0.MergeAccumulator(ac1)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
t.Fatalf("see bug gh-1600")
|
t.Fatalf("see bug gh-1600")
|
||||||
}
|
}
|
||||||
@@ -246,10 +253,13 @@ func TestResolveVarConflicts(t *testing.T) {
|
|||||||
// two above (because it contains a variable whose name is used in the other
|
// two above (because it contains a variable whose name is used in the other
|
||||||
// accumulators AND whose concrete values are different).
|
// accumulators AND whose concrete values are different).
|
||||||
rm2 := resmap.New()
|
rm2 := resmap.New()
|
||||||
rm2.Append(rf.FromMap(barGcp))
|
err = rm2.Append(rf.FromMap(barGcp))
|
||||||
|
require.NoError(t, err)
|
||||||
ac2 := MakeEmptyAccumulator()
|
ac2 := MakeEmptyAccumulator()
|
||||||
ac2.AppendAll(rm2)
|
err = ac2.AppendAll(rm2)
|
||||||
ac2.MergeVars([]types.Var{varBar})
|
require.NoError(t, err)
|
||||||
|
err = ac2.MergeVars([]types.Var{varBar})
|
||||||
|
require.NoError(t, err)
|
||||||
err = ac1.MergeAccumulator(ac2)
|
err = ac1.MergeAccumulator(ac2)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
t.Fatalf("dupe vars w/ different concrete values should conflict")
|
t.Fatalf("dupe vars w/ different concrete values should conflict")
|
||||||
|
|||||||
@@ -40,7 +40,13 @@ func MakeConfigMap(
|
|||||||
if err = rn.LoadMapIntoConfigMapData(m); err != nil {
|
if err = rn.LoadMapIntoConfigMapData(m); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
copyLabelsAndAnnotations(rn, args.Options)
|
err = copyLabelsAndAnnotations(rn, args.Options)
|
||||||
setImmutable(rn, args.Options)
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = setImmutable(rn, args.Options)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
return rn, nil
|
return rn, nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -89,7 +89,10 @@ type argsConfig struct {
|
|||||||
|
|
||||||
func (p *ExecPlugin) processOptionalArgsFields() error {
|
func (p *ExecPlugin) processOptionalArgsFields() error {
|
||||||
var c argsConfig
|
var c argsConfig
|
||||||
yaml.Unmarshal(p.cfg, &c)
|
err := yaml.Unmarshal(p.cfg, &c)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
if c.ArgsOneLiner != "" {
|
if c.ArgsOneLiner != "" {
|
||||||
p.args, _ = shlex.Split(c.ArgsOneLiner)
|
p.args, _ = shlex.Split(c.ArgsOneLiner)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
"sigs.k8s.io/kustomize/api/filesys"
|
"sigs.k8s.io/kustomize/api/filesys"
|
||||||
. "sigs.k8s.io/kustomize/api/internal/plugins/execplugin"
|
. "sigs.k8s.io/kustomize/api/internal/plugins/execplugin"
|
||||||
pLdr "sigs.k8s.io/kustomize/api/internal/plugins/loader"
|
pLdr "sigs.k8s.io/kustomize/api/internal/plugins/loader"
|
||||||
@@ -21,11 +22,12 @@ import (
|
|||||||
|
|
||||||
func TestExecPluginConfig(t *testing.T) {
|
func TestExecPluginConfig(t *testing.T) {
|
||||||
fSys := filesys.MakeFsInMemory()
|
fSys := filesys.MakeFsInMemory()
|
||||||
fSys.WriteFile("sed-input.txt", []byte(`
|
err := fSys.WriteFile("sed-input.txt", []byte(`
|
||||||
s/$FOO/foo/g
|
s/$FOO/foo/g
|
||||||
s/$BAR/bar baz/g
|
s/$BAR/bar baz/g
|
||||||
\ \ \
|
\ \ \
|
||||||
`))
|
`))
|
||||||
|
require.NoError(t, err)
|
||||||
ldr, err := fLdr.NewLoader(
|
ldr, err := fLdr.NewLoader(
|
||||||
fLdr.RestrictionRootOnly, filesys.Separator, fSys)
|
fLdr.RestrictionRootOnly, filesys.Separator, fSys)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -62,9 +64,10 @@ s/$BAR/bar baz/g
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected err: %v", err)
|
t.Fatalf("unexpected err: %v", err)
|
||||||
}
|
}
|
||||||
p.Config(
|
err = p.Config(
|
||||||
resmap.NewPluginHelpers(ldr, pvd.GetFieldValidator(), rf, pc),
|
resmap.NewPluginHelpers(ldr, pvd.GetFieldValidator(), rf, pc),
|
||||||
yaml)
|
yaml)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
expected := "someteam.example.com/v1/sedtransformer/SedTransformer"
|
expected := "someteam.example.com/v1/sedtransformer/SedTransformer"
|
||||||
if !strings.HasSuffix(p.Path(), expected) {
|
if !strings.HasSuffix(p.Path(), expected) {
|
||||||
|
|||||||
@@ -192,7 +192,9 @@ func UpdateResMapValues(pluginName string, h *resmap.PluginHelpers, output []byt
|
|||||||
for _, id := range rm.AllIds() {
|
for _, id := range rm.AllIds() {
|
||||||
newIdx, _ := newMap.GetIndexOfCurrentId(id)
|
newIdx, _ := newMap.GetIndexOfCurrentId(id)
|
||||||
if newIdx == -1 {
|
if newIdx == -1 {
|
||||||
rm.Remove(id)
|
if err = rm.Remove(id); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
"sigs.k8s.io/kustomize/api/filesys"
|
"sigs.k8s.io/kustomize/api/filesys"
|
||||||
"sigs.k8s.io/kustomize/api/konfig"
|
"sigs.k8s.io/kustomize/api/konfig"
|
||||||
"sigs.k8s.io/kustomize/api/provider"
|
"sigs.k8s.io/kustomize/api/provider"
|
||||||
@@ -86,8 +87,10 @@ func TestUpdateResourceOptions(t *testing.T) {
|
|||||||
}
|
}
|
||||||
for i, c := range cases {
|
for i, c := range cases {
|
||||||
name := fmt.Sprintf("test%d", i)
|
name := fmt.Sprintf("test%d", i)
|
||||||
in.Append(makeConfigMap(rf, name, c.behavior, c.hashValue))
|
err := in.Append(makeConfigMap(rf, name, c.behavior, c.hashValue))
|
||||||
expected.Append(makeConfigMapOptions(rf, name, c.behavior, !c.needsHash))
|
require.NoError(t, err)
|
||||||
|
err = expected.Append(makeConfigMapOptions(rf, name, c.behavior, !c.needsHash))
|
||||||
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
actual, err := UpdateResourceOptions(in)
|
actual, err := UpdateResourceOptions(in)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
@@ -105,10 +108,9 @@ func TestUpdateResourceOptionsWithInvalidHashAnnotationValues(t *testing.T) {
|
|||||||
for i, c := range cases {
|
for i, c := range cases {
|
||||||
name := fmt.Sprintf("test%d", i)
|
name := fmt.Sprintf("test%d", i)
|
||||||
in := resmap.New()
|
in := resmap.New()
|
||||||
in.Append(makeConfigMap(rf, name, "", &c))
|
err := in.Append(makeConfigMap(rf, name, "", &c))
|
||||||
_, err := UpdateResourceOptions(in)
|
require.NoError(t, err)
|
||||||
if err == nil {
|
_, err = UpdateResourceOptions(in)
|
||||||
t.Errorf("expected error from value %q", c)
|
require.Error(t, err)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
"sigs.k8s.io/kustomize/api/filesys"
|
"sigs.k8s.io/kustomize/api/filesys"
|
||||||
"sigs.k8s.io/kustomize/api/types"
|
"sigs.k8s.io/kustomize/api/types"
|
||||||
)
|
)
|
||||||
@@ -18,11 +18,11 @@ func TestDefaultAbsPluginHome_NoKustomizePluginHomeEnv(t *testing.T) {
|
|||||||
fSys := filesys.MakeFsInMemory()
|
fSys := filesys.MakeFsInMemory()
|
||||||
keep, isSet := os.LookupEnv(KustomizePluginHomeEnv)
|
keep, isSet := os.LookupEnv(KustomizePluginHomeEnv)
|
||||||
if isSet {
|
if isSet {
|
||||||
_ = os.Unsetenv(KustomizePluginHomeEnv)
|
unsetenv(t, KustomizePluginHomeEnv)
|
||||||
}
|
}
|
||||||
_, err := DefaultAbsPluginHome(fSys)
|
_, err := DefaultAbsPluginHome(fSys)
|
||||||
if isSet {
|
if isSet {
|
||||||
os.Setenv(KustomizePluginHomeEnv, keep)
|
setenv(t, KustomizePluginHomeEnv, keep)
|
||||||
}
|
}
|
||||||
if err == nil {
|
if err == nil {
|
||||||
t.Fatalf("expected err")
|
t.Fatalf("expected err")
|
||||||
@@ -43,13 +43,13 @@ func TestDefaultAbsPluginHome_NoKustomizePluginHomeEnv(t *testing.T) {
|
|||||||
|
|
||||||
func TestDefaultAbsPluginHome_EmptyKustomizePluginHomeEnv(t *testing.T) {
|
func TestDefaultAbsPluginHome_EmptyKustomizePluginHomeEnv(t *testing.T) {
|
||||||
keep, isSet := os.LookupEnv(KustomizePluginHomeEnv)
|
keep, isSet := os.LookupEnv(KustomizePluginHomeEnv)
|
||||||
os.Setenv(KustomizePluginHomeEnv, "")
|
setenv(t, KustomizePluginHomeEnv, "")
|
||||||
|
|
||||||
_, err := DefaultAbsPluginHome(filesys.MakeFsInMemory())
|
_, err := DefaultAbsPluginHome(filesys.MakeFsInMemory())
|
||||||
if !isSet {
|
if !isSet {
|
||||||
_ = os.Unsetenv(KustomizePluginHomeEnv)
|
unsetenv(t, KustomizePluginHomeEnv)
|
||||||
} else {
|
} else {
|
||||||
_ = os.Setenv(KustomizePluginHomeEnv, keep)
|
setenv(t, KustomizePluginHomeEnv, keep)
|
||||||
}
|
}
|
||||||
if err == nil {
|
if err == nil {
|
||||||
t.Fatalf("expected err")
|
t.Fatalf("expected err")
|
||||||
@@ -65,16 +65,15 @@ func TestDefaultAbsPluginHome_WithKustomizePluginHomeEnv(t *testing.T) {
|
|||||||
keep, isSet := os.LookupEnv(KustomizePluginHomeEnv)
|
keep, isSet := os.LookupEnv(KustomizePluginHomeEnv)
|
||||||
if !isSet {
|
if !isSet {
|
||||||
keep = "whatever"
|
keep = "whatever"
|
||||||
os.Setenv(KustomizePluginHomeEnv, keep)
|
setenv(t, KustomizePluginHomeEnv, keep)
|
||||||
}
|
}
|
||||||
fSys.Mkdir(keep)
|
err := fSys.Mkdir(keep)
|
||||||
|
require.NoError(t, err)
|
||||||
h, err := DefaultAbsPluginHome(fSys)
|
h, err := DefaultAbsPluginHome(fSys)
|
||||||
if !isSet {
|
if !isSet {
|
||||||
_ = os.Unsetenv(KustomizePluginHomeEnv)
|
unsetenv(t, KustomizePluginHomeEnv)
|
||||||
}
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("unexpected err: %v", err)
|
|
||||||
}
|
}
|
||||||
|
require.NoError(t, err)
|
||||||
if h != keep {
|
if h != keep {
|
||||||
t.Fatalf("unexpected config dir: %s", h)
|
t.Fatalf("unexpected config dir: %s", h)
|
||||||
}
|
}
|
||||||
@@ -85,13 +84,14 @@ func TestDefaultAbsPluginHomeWithXdg(t *testing.T) {
|
|||||||
keep, isSet := os.LookupEnv(XdgConfigHomeEnv)
|
keep, isSet := os.LookupEnv(XdgConfigHomeEnv)
|
||||||
if !isSet {
|
if !isSet {
|
||||||
keep = "whatever"
|
keep = "whatever"
|
||||||
os.Setenv(XdgConfigHomeEnv, keep)
|
setenv(t, XdgConfigHomeEnv, keep)
|
||||||
}
|
}
|
||||||
configDir := filepath.Join(keep, ProgramName, RelPluginHome)
|
configDir := filepath.Join(keep, ProgramName, RelPluginHome)
|
||||||
fSys.Mkdir(configDir)
|
err := fSys.Mkdir(configDir)
|
||||||
|
require.NoError(t, err)
|
||||||
h, err := DefaultAbsPluginHome(fSys)
|
h, err := DefaultAbsPluginHome(fSys)
|
||||||
if !isSet {
|
if !isSet {
|
||||||
_ = os.Unsetenv(XdgConfigHomeEnv)
|
unsetenv(t, XdgConfigHomeEnv)
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected err: %v", err)
|
t.Fatalf("unexpected err: %v", err)
|
||||||
@@ -105,11 +105,11 @@ func TestDefaultAbsPluginHomeNoConfig(t *testing.T) {
|
|||||||
fSys := filesys.MakeFsInMemory()
|
fSys := filesys.MakeFsInMemory()
|
||||||
keep, isSet := os.LookupEnv(XdgConfigHomeEnv)
|
keep, isSet := os.LookupEnv(XdgConfigHomeEnv)
|
||||||
if isSet {
|
if isSet {
|
||||||
_ = os.Unsetenv(XdgConfigHomeEnv)
|
unsetenv(t, XdgConfigHomeEnv)
|
||||||
}
|
}
|
||||||
_, err := DefaultAbsPluginHome(fSys)
|
_, err := DefaultAbsPluginHome(fSys)
|
||||||
if isSet {
|
if isSet {
|
||||||
os.Setenv(XdgConfigHomeEnv, keep)
|
setenv(t, XdgConfigHomeEnv, keep)
|
||||||
}
|
}
|
||||||
if err == nil {
|
if err == nil {
|
||||||
t.Fatalf("expected err")
|
t.Fatalf("expected err")
|
||||||
@@ -121,13 +121,13 @@ func TestDefaultAbsPluginHomeNoConfig(t *testing.T) {
|
|||||||
|
|
||||||
func TestDefaultAbsPluginHomeEmptyXdgConfig(t *testing.T) {
|
func TestDefaultAbsPluginHomeEmptyXdgConfig(t *testing.T) {
|
||||||
keep, isSet := os.LookupEnv(XdgConfigHomeEnv)
|
keep, isSet := os.LookupEnv(XdgConfigHomeEnv)
|
||||||
os.Setenv(XdgConfigHomeEnv, "")
|
setenv(t, XdgConfigHomeEnv, "")
|
||||||
if isSet {
|
if isSet {
|
||||||
_ = os.Unsetenv(XdgConfigHomeEnv)
|
unsetenv(t, XdgConfigHomeEnv)
|
||||||
}
|
}
|
||||||
_, err := DefaultAbsPluginHome(filesys.MakeFsInMemory())
|
_, err := DefaultAbsPluginHome(filesys.MakeFsInMemory())
|
||||||
if isSet {
|
if isSet {
|
||||||
os.Setenv(XdgConfigHomeEnv, keep)
|
setenv(t, XdgConfigHomeEnv, keep)
|
||||||
}
|
}
|
||||||
if err == nil {
|
if err == nil {
|
||||||
t.Fatalf("expected err")
|
t.Fatalf("expected err")
|
||||||
@@ -142,14 +142,16 @@ func TestDefaultAbsPluginHomeNoXdgWithDotConfig(t *testing.T) {
|
|||||||
fSys := filesys.MakeFsInMemory()
|
fSys := filesys.MakeFsInMemory()
|
||||||
configDir := filepath.Join(
|
configDir := filepath.Join(
|
||||||
HomeDir(), XdgConfigHomeEnvDefault, ProgramName, RelPluginHome)
|
HomeDir(), XdgConfigHomeEnvDefault, ProgramName, RelPluginHome)
|
||||||
fSys.Mkdir(configDir)
|
err := fSys.Mkdir(configDir)
|
||||||
|
require.NoError(t, err)
|
||||||
keep, isSet := os.LookupEnv(XdgConfigHomeEnv)
|
keep, isSet := os.LookupEnv(XdgConfigHomeEnv)
|
||||||
if isSet {
|
if isSet {
|
||||||
_ = os.Unsetenv(XdgConfigHomeEnv)
|
unsetenv(t, XdgConfigHomeEnv)
|
||||||
}
|
}
|
||||||
s, _ := DefaultAbsPluginHome(fSys)
|
s, err := DefaultAbsPluginHome(fSys)
|
||||||
|
require.NoError(t, err)
|
||||||
if isSet {
|
if isSet {
|
||||||
os.Setenv(XdgConfigHomeEnv, keep)
|
setenv(t, XdgConfigHomeEnv, keep)
|
||||||
}
|
}
|
||||||
if s != configDir {
|
if s != configDir {
|
||||||
t.Fatalf("unexpected config dir: %s", s)
|
t.Fatalf("unexpected config dir: %s", s)
|
||||||
@@ -160,16 +162,26 @@ func TestDefaultAbsPluginHomeNoXdgJustHomeDir(t *testing.T) {
|
|||||||
fSys := filesys.MakeFsInMemory()
|
fSys := filesys.MakeFsInMemory()
|
||||||
configDir := filepath.Join(
|
configDir := filepath.Join(
|
||||||
HomeDir(), ProgramName, RelPluginHome)
|
HomeDir(), ProgramName, RelPluginHome)
|
||||||
fSys.Mkdir(configDir)
|
err := fSys.Mkdir(configDir)
|
||||||
|
require.NoError(t, err)
|
||||||
keep, isSet := os.LookupEnv(XdgConfigHomeEnv)
|
keep, isSet := os.LookupEnv(XdgConfigHomeEnv)
|
||||||
if isSet {
|
if isSet {
|
||||||
_ = os.Unsetenv(XdgConfigHomeEnv)
|
unsetenv(t, XdgConfigHomeEnv)
|
||||||
}
|
}
|
||||||
s, _ := DefaultAbsPluginHome(fSys)
|
s, err := DefaultAbsPluginHome(fSys)
|
||||||
|
require.NoError(t, err)
|
||||||
if isSet {
|
if isSet {
|
||||||
os.Setenv(XdgConfigHomeEnv, keep)
|
setenv(t, XdgConfigHomeEnv, keep)
|
||||||
}
|
}
|
||||||
if s != configDir {
|
if s != configDir {
|
||||||
t.Fatalf("unexpected config dir: %s", s)
|
t.Fatalf("unexpected config dir: %s", s)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func setenv(t *testing.T, key, value string) {
|
||||||
|
require.NoError(t, os.Setenv(key, value))
|
||||||
|
}
|
||||||
|
|
||||||
|
func unsetenv(t *testing.T, key string) {
|
||||||
|
require.NoError(t, os.Unsetenv(key))
|
||||||
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import (
|
|||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
"sigs.k8s.io/kustomize/api/filesys"
|
"sigs.k8s.io/kustomize/api/filesys"
|
||||||
ldr "sigs.k8s.io/kustomize/api/loader"
|
ldr "sigs.k8s.io/kustomize/api/loader"
|
||||||
valtest_test "sigs.k8s.io/kustomize/api/testutils/valtest"
|
valtest_test "sigs.k8s.io/kustomize/api/testutils/valtest"
|
||||||
@@ -83,7 +84,8 @@ func TestKeyValuesFromFileSources(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fSys := filesys.MakeFsInMemory()
|
fSys := filesys.MakeFsInMemory()
|
||||||
fSys.WriteFile("/files/app-init.ini", []byte("FOO=bar"))
|
err := fSys.WriteFile("/files/app-init.ini", []byte("FOO=bar"))
|
||||||
|
require.NoError(t, err)
|
||||||
kvl := makeKvLoader(fSys)
|
kvl := makeKvLoader(fSys)
|
||||||
for _, tc := range tests {
|
for _, tc := range tests {
|
||||||
kvs, err := kvl.keyValuesFromFileSources(tc.sources)
|
kvs, err := kvl.keyValuesFromFileSources(tc.sources)
|
||||||
|
|||||||
@@ -17,17 +17,18 @@ func NewCommand() *cobra.Command {
|
|||||||
DisableFlagsInUseLine: true,
|
DisableFlagsInUseLine: true,
|
||||||
ValidArgs: []string{"bash", "zsh", "fish", "powershell"},
|
ValidArgs: []string{"bash", "zsh", "fish", "powershell"},
|
||||||
Args: cobra.ExactValidArgs(1),
|
Args: cobra.ExactValidArgs(1),
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
switch args[0] {
|
switch args[0] {
|
||||||
case "bash":
|
case "bash":
|
||||||
cmd.Root().GenBashCompletion(os.Stdout)
|
return cmd.Root().GenBashCompletion(os.Stdout)
|
||||||
case "zsh":
|
case "zsh":
|
||||||
cmd.Root().GenZshCompletion(os.Stdout)
|
return cmd.Root().GenZshCompletion(os.Stdout)
|
||||||
case "fish":
|
case "fish":
|
||||||
cmd.Root().GenFishCompletion(os.Stdout, true)
|
return cmd.Root().GenFishCompletion(os.Stdout, true)
|
||||||
case "powershell":
|
case "powershell":
|
||||||
cmd.Root().GenPowerShellCompletion(os.Stdout)
|
return cmd.Root().GenPowerShellCompletion(os.Stdout)
|
||||||
}
|
}
|
||||||
|
return nil
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -104,9 +104,9 @@ func (r *AnnotateRunner) ExecuteCmd(w io.Writer, pkgPath string) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
// print error message and continue if there are multiple packages to annotate
|
// print error message and continue if there are multiple packages to annotate
|
||||||
fmt.Fprintf(w, "%s\n", err.Error())
|
_, _ = fmt.Fprintf(w, "%s\n", err.Error())
|
||||||
} else {
|
} else {
|
||||||
fmt.Fprint(w, "added annotations in the package\n")
|
_, _ = fmt.Fprint(w, "added annotations in the package\n")
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ const (
|
|||||||
|
|
||||||
// ConvertToBuiltInPlugin converts the input plugin file to
|
// ConvertToBuiltInPlugin converts the input plugin file to
|
||||||
// kustomize builtin plugin and writes it to proper directory
|
// kustomize builtin plugin and writes it to proper directory
|
||||||
func ConvertToBuiltInPlugin() error {
|
func ConvertToBuiltInPlugin() (retErr error) {
|
||||||
root, err := inputFileRoot()
|
root, err := inputFileRoot()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@@ -47,7 +47,12 @@ func ConvertToBuiltInPlugin() error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
defer w.close()
|
defer func() {
|
||||||
|
closeErr := w.Close()
|
||||||
|
if retErr == nil {
|
||||||
|
retErr = closeErr
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
// This particular phrasing is required.
|
// This particular phrasing is required.
|
||||||
w.write(
|
w.write(
|
||||||
@@ -139,10 +144,10 @@ func makeOutputFileName(root string) string {
|
|||||||
"..", "..", "..", "api", packageForGeneratedCode, root+".go")
|
"..", "..", "..", "api", packageForGeneratedCode, root+".go")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *writer) close() {
|
func (w *writer) Close() error {
|
||||||
// Do this for debugging.
|
// Do this for debugging.
|
||||||
// fmt.Println("Generated " + makeOutputFileName(w.root))
|
// fmt.Println("Generated " + makeOutputFileName(w.root))
|
||||||
w.f.Close()
|
return w.f.Close()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *writer) write(line string) {
|
func (w *writer) write(line string) {
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
"sigs.k8s.io/kustomize/api/filesys"
|
"sigs.k8s.io/kustomize/api/filesys"
|
||||||
"sigs.k8s.io/kustomize/kustomize/v4/commands/internal/kustfile"
|
"sigs.k8s.io/kustomize/kustomize/v4/commands/internal/kustfile"
|
||||||
testutils_test "sigs.k8s.io/kustomize/kustomize/v4/commands/internal/testutils"
|
testutils_test "sigs.k8s.io/kustomize/kustomize/v4/commands/internal/testutils"
|
||||||
@@ -21,7 +22,8 @@ func TestAddBaseHappyPath(t *testing.T) {
|
|||||||
fSys := filesys.MakeFsInMemory()
|
fSys := filesys.MakeFsInMemory()
|
||||||
bases := strings.Split(baseDirectoryPaths, ",")
|
bases := strings.Split(baseDirectoryPaths, ",")
|
||||||
for _, base := range bases {
|
for _, base := range bases {
|
||||||
fSys.Mkdir(base)
|
err := fSys.Mkdir(base)
|
||||||
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
testutils_test.WriteTestKustomization(fSys)
|
testutils_test.WriteTestKustomization(fSys)
|
||||||
|
|
||||||
@@ -41,7 +43,8 @@ func TestAddBaseAlreadyThere(t *testing.T) {
|
|||||||
// Create fake directories
|
// Create fake directories
|
||||||
bases := strings.Split(baseDirectoryPaths, ",")
|
bases := strings.Split(baseDirectoryPaths, ",")
|
||||||
for _, base := range bases {
|
for _, base := range bases {
|
||||||
fSys.Mkdir(base)
|
err := fSys.Mkdir(base)
|
||||||
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
testutils_test.WriteTestKustomization(fSys)
|
testutils_test.WriteTestKustomization(fSys)
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
"sigs.k8s.io/kustomize/api/filesys"
|
"sigs.k8s.io/kustomize/api/filesys"
|
||||||
testutils_test "sigs.k8s.io/kustomize/kustomize/v4/commands/internal/testutils"
|
testutils_test "sigs.k8s.io/kustomize/kustomize/v4/commands/internal/testutils"
|
||||||
)
|
)
|
||||||
@@ -21,8 +22,10 @@ sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
|
|||||||
|
|
||||||
func TestAddComponentHappyPath(t *testing.T) {
|
func TestAddComponentHappyPath(t *testing.T) {
|
||||||
fSys := filesys.MakeEmptyDirInMemory()
|
fSys := filesys.MakeEmptyDirInMemory()
|
||||||
fSys.WriteFile(componentFileName, []byte(componentFileContent))
|
err := fSys.WriteFile(componentFileName, []byte(componentFileContent))
|
||||||
fSys.WriteFile(componentFileName+"another", []byte(componentFileContent))
|
require.NoError(t, err)
|
||||||
|
err = fSys.WriteFile(componentFileName+"another", []byte(componentFileContent))
|
||||||
|
require.NoError(t, err)
|
||||||
testutils_test.WriteTestKustomization(fSys)
|
testutils_test.WriteTestKustomization(fSys)
|
||||||
|
|
||||||
cmd := newCmdAddComponent(fSys)
|
cmd := newCmdAddComponent(fSys)
|
||||||
@@ -36,7 +39,8 @@ func TestAddComponentHappyPath(t *testing.T) {
|
|||||||
|
|
||||||
func TestAddComponentAlreadyThere(t *testing.T) {
|
func TestAddComponentAlreadyThere(t *testing.T) {
|
||||||
fSys := filesys.MakeFsInMemory()
|
fSys := filesys.MakeFsInMemory()
|
||||||
fSys.WriteFile(componentFileName, []byte(componentFileContent))
|
err := fSys.WriteFile(componentFileName, []byte(componentFileContent))
|
||||||
|
require.NoError(t, err)
|
||||||
testutils_test.WriteTestKustomization(fSys)
|
testutils_test.WriteTestKustomization(fSys)
|
||||||
|
|
||||||
cmd := newCmdAddComponent(fSys)
|
cmd := newCmdAddComponent(fSys)
|
||||||
@@ -49,15 +53,16 @@ func TestAddComponentAlreadyThere(t *testing.T) {
|
|||||||
|
|
||||||
func TestAddKustomizationFileAsComponent(t *testing.T) {
|
func TestAddKustomizationFileAsComponent(t *testing.T) {
|
||||||
fSys := filesys.MakeFsInMemory()
|
fSys := filesys.MakeFsInMemory()
|
||||||
fSys.WriteFile(componentFileName, []byte(componentFileContent))
|
err := fSys.WriteFile(componentFileName, []byte(componentFileContent))
|
||||||
|
require.NoError(t, err)
|
||||||
testutils_test.WriteTestKustomization(fSys)
|
testutils_test.WriteTestKustomization(fSys)
|
||||||
|
|
||||||
cmd := newCmdAddComponent(fSys)
|
cmd := newCmdAddComponent(fSys)
|
||||||
args := []string{componentFileName}
|
args := []string{componentFileName}
|
||||||
assert.NoError(t, cmd.RunE(cmd, args))
|
require.NoError(t, cmd.RunE(cmd, args))
|
||||||
|
|
||||||
content, err := testutils_test.ReadTestKustomization(fSys)
|
content, err := testutils_test.ReadTestKustomization(fSys)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.NotContains(t, string(content), componentFileName)
|
assert.NotContains(t, string(content), componentFileName)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -66,6 +71,5 @@ func TestAddComponentNoArgs(t *testing.T) {
|
|||||||
|
|
||||||
cmd := newCmdAddComponent(fSys)
|
cmd := newCmdAddComponent(fSys)
|
||||||
err := cmd.Execute()
|
err := cmd.Execute()
|
||||||
assert.Error(t, err)
|
assert.EqualError(t, err, "must specify a component file")
|
||||||
assert.Equal(t, "must specify a component file", err.Error())
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
"sigs.k8s.io/kustomize/api/filesys"
|
"sigs.k8s.io/kustomize/api/filesys"
|
||||||
valtest_test "sigs.k8s.io/kustomize/api/testutils/valtest"
|
valtest_test "sigs.k8s.io/kustomize/api/testutils/valtest"
|
||||||
"sigs.k8s.io/kustomize/api/types"
|
"sigs.k8s.io/kustomize/api/types"
|
||||||
@@ -163,8 +164,9 @@ func TestAddAnnotationForce(t *testing.T) {
|
|||||||
// but trying to add it with --force should
|
// but trying to add it with --force should
|
||||||
v = valtest_test.MakeHappyMapValidator(t)
|
v = valtest_test.MakeHappyMapValidator(t)
|
||||||
cmd = newCmdAddAnnotation(fSys, v.Validator)
|
cmd = newCmdAddAnnotation(fSys, v.Validator)
|
||||||
cmd.Flag("force").Value.Set("true")
|
err = cmd.Flag("force").Value.Set("true")
|
||||||
assert.NoError(t, cmd.RunE(cmd, args))
|
require.NoError(t, err)
|
||||||
|
require.NoError(t, cmd.RunE(cmd, args))
|
||||||
v.VerifyCall()
|
v.VerifyCall()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -266,7 +268,8 @@ func TestAddLabelForce(t *testing.T) {
|
|||||||
// but trying to add it with --force should
|
// but trying to add it with --force should
|
||||||
v = valtest_test.MakeHappyMapValidator(t)
|
v = valtest_test.MakeHappyMapValidator(t)
|
||||||
cmd = newCmdAddLabel(fSys, v.Validator)
|
cmd = newCmdAddLabel(fSys, v.Validator)
|
||||||
cmd.Flag("force").Value.Set("true")
|
err = cmd.Flag("force").Value.Set("true")
|
||||||
|
require.NoError(t, err)
|
||||||
assert.NoError(t, cmd.RunE(cmd, args))
|
assert.NoError(t, cmd.RunE(cmd, args))
|
||||||
v.VerifyCall()
|
v.VerifyCall()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
"sigs.k8s.io/kustomize/api/filesys"
|
"sigs.k8s.io/kustomize/api/filesys"
|
||||||
testutils_test "sigs.k8s.io/kustomize/kustomize/v4/commands/internal/testutils"
|
testutils_test "sigs.k8s.io/kustomize/kustomize/v4/commands/internal/testutils"
|
||||||
)
|
)
|
||||||
@@ -28,7 +29,8 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit,
|
|||||||
|
|
||||||
func TestAddPatchWithFilePath(t *testing.T) {
|
func TestAddPatchWithFilePath(t *testing.T) {
|
||||||
fSys := filesys.MakeEmptyDirInMemory()
|
fSys := filesys.MakeEmptyDirInMemory()
|
||||||
fSys.WriteFile(patchFileName, []byte(patchFileContent))
|
err := fSys.WriteFile(patchFileName, []byte(patchFileContent))
|
||||||
|
require.NoError(t, err)
|
||||||
testutils_test.WriteTestKustomization(fSys)
|
testutils_test.WriteTestKustomization(fSys)
|
||||||
|
|
||||||
cmd := newCmdAddPatch(fSys)
|
cmd := newCmdAddPatch(fSys)
|
||||||
@@ -53,7 +55,8 @@ func TestAddPatchWithFilePath(t *testing.T) {
|
|||||||
|
|
||||||
func TestAddPatchWithPatchContent(t *testing.T) {
|
func TestAddPatchWithPatchContent(t *testing.T) {
|
||||||
fSys := filesys.MakeEmptyDirInMemory()
|
fSys := filesys.MakeEmptyDirInMemory()
|
||||||
fSys.WriteFile(patchFileName, []byte(patchFileContent))
|
err := fSys.WriteFile(patchFileName, []byte(patchFileContent))
|
||||||
|
require.NoError(t, err)
|
||||||
testutils_test.WriteTestKustomization(fSys)
|
testutils_test.WriteTestKustomization(fSys)
|
||||||
|
|
||||||
cmd := newCmdAddPatch(fSys)
|
cmd := newCmdAddPatch(fSys)
|
||||||
@@ -78,7 +81,8 @@ func TestAddPatchWithPatchContent(t *testing.T) {
|
|||||||
|
|
||||||
func TestAddPatchAlreadyThere(t *testing.T) {
|
func TestAddPatchAlreadyThere(t *testing.T) {
|
||||||
fSys := filesys.MakeEmptyDirInMemory()
|
fSys := filesys.MakeEmptyDirInMemory()
|
||||||
fSys.WriteFile(patchFileName, []byte(patchFileContent))
|
err := fSys.WriteFile(patchFileName, []byte(patchFileContent))
|
||||||
|
require.NoError(t, err)
|
||||||
testutils_test.WriteTestKustomization(fSys)
|
testutils_test.WriteTestKustomization(fSys)
|
||||||
|
|
||||||
cmd := newCmdAddPatch(fSys)
|
cmd := newCmdAddPatch(fSys)
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
"sigs.k8s.io/kustomize/api/filesys"
|
"sigs.k8s.io/kustomize/api/filesys"
|
||||||
testutils_test "sigs.k8s.io/kustomize/kustomize/v4/commands/internal/testutils"
|
testutils_test "sigs.k8s.io/kustomize/kustomize/v4/commands/internal/testutils"
|
||||||
)
|
)
|
||||||
@@ -21,8 +22,10 @@ sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
|
|||||||
|
|
||||||
func TestAddResourceHappyPath(t *testing.T) {
|
func TestAddResourceHappyPath(t *testing.T) {
|
||||||
fSys := filesys.MakeEmptyDirInMemory()
|
fSys := filesys.MakeEmptyDirInMemory()
|
||||||
fSys.WriteFile(resourceFileName, []byte(resourceFileContent))
|
err := fSys.WriteFile(resourceFileName, []byte(resourceFileContent))
|
||||||
fSys.WriteFile(resourceFileName+"another", []byte(resourceFileContent))
|
require.NoError(t, err)
|
||||||
|
err = fSys.WriteFile(resourceFileName+"another", []byte(resourceFileContent))
|
||||||
|
require.NoError(t, err)
|
||||||
testutils_test.WriteTestKustomization(fSys)
|
testutils_test.WriteTestKustomization(fSys)
|
||||||
|
|
||||||
cmd := newCmdAddResource(fSys)
|
cmd := newCmdAddResource(fSys)
|
||||||
@@ -36,7 +39,8 @@ func TestAddResourceHappyPath(t *testing.T) {
|
|||||||
|
|
||||||
func TestAddResourceAlreadyThere(t *testing.T) {
|
func TestAddResourceAlreadyThere(t *testing.T) {
|
||||||
fSys := filesys.MakeFsInMemory()
|
fSys := filesys.MakeFsInMemory()
|
||||||
fSys.WriteFile(resourceFileName, []byte(resourceFileContent))
|
err := fSys.WriteFile(resourceFileName, []byte(resourceFileContent))
|
||||||
|
require.NoError(t, err)
|
||||||
testutils_test.WriteTestKustomization(fSys)
|
testutils_test.WriteTestKustomization(fSys)
|
||||||
|
|
||||||
cmd := newCmdAddResource(fSys)
|
cmd := newCmdAddResource(fSys)
|
||||||
@@ -49,7 +53,8 @@ func TestAddResourceAlreadyThere(t *testing.T) {
|
|||||||
|
|
||||||
func TestAddKustomizationFileAsResource(t *testing.T) {
|
func TestAddKustomizationFileAsResource(t *testing.T) {
|
||||||
fSys := filesys.MakeFsInMemory()
|
fSys := filesys.MakeFsInMemory()
|
||||||
fSys.WriteFile(resourceFileName, []byte(resourceFileContent))
|
err := fSys.WriteFile(resourceFileName, []byte(resourceFileContent))
|
||||||
|
require.NoError(t, err)
|
||||||
testutils_test.WriteTestKustomization(fSys)
|
testutils_test.WriteTestKustomization(fSys)
|
||||||
|
|
||||||
cmd := newCmdAddResource(fSys)
|
cmd := newCmdAddResource(fSys)
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
"sigs.k8s.io/kustomize/api/filesys"
|
"sigs.k8s.io/kustomize/api/filesys"
|
||||||
"sigs.k8s.io/kustomize/kustomize/v4/commands/internal/kustfile"
|
"sigs.k8s.io/kustomize/kustomize/v4/commands/internal/kustfile"
|
||||||
testutils_test "sigs.k8s.io/kustomize/kustomize/v4/commands/internal/testutils"
|
testutils_test "sigs.k8s.io/kustomize/kustomize/v4/commands/internal/testutils"
|
||||||
@@ -22,8 +23,10 @@ sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
|
|||||||
|
|
||||||
func TestAddTransformerHappyPath(t *testing.T) {
|
func TestAddTransformerHappyPath(t *testing.T) {
|
||||||
fSys := filesys.MakeEmptyDirInMemory()
|
fSys := filesys.MakeEmptyDirInMemory()
|
||||||
fSys.WriteFile(transformerFileName, []byte(transformerFileContent))
|
err := fSys.WriteFile(transformerFileName, []byte(transformerFileContent))
|
||||||
fSys.WriteFile(transformerFileName+"another", []byte(transformerFileContent))
|
require.NoError(t, err)
|
||||||
|
err = fSys.WriteFile(transformerFileName+"another", []byte(transformerFileContent))
|
||||||
|
require.NoError(t, err)
|
||||||
testutils_test.WriteTestKustomization(fSys)
|
testutils_test.WriteTestKustomization(fSys)
|
||||||
|
|
||||||
cmd := newCmdAddTransformer(fSys)
|
cmd := newCmdAddTransformer(fSys)
|
||||||
@@ -37,7 +40,8 @@ func TestAddTransformerHappyPath(t *testing.T) {
|
|||||||
|
|
||||||
func TestAddTransformerAlreadyThere(t *testing.T) {
|
func TestAddTransformerAlreadyThere(t *testing.T) {
|
||||||
fSys := filesys.MakeEmptyDirInMemory()
|
fSys := filesys.MakeEmptyDirInMemory()
|
||||||
fSys.WriteFile(transformerFileName, []byte(transformerFileName))
|
err := fSys.WriteFile(transformerFileName, []byte(transformerFileName))
|
||||||
|
require.NoError(t, err)
|
||||||
testutils_test.WriteTestKustomization(fSys)
|
testutils_test.WriteTestKustomization(fSys)
|
||||||
|
|
||||||
cmd := newCmdAddTransformer(fSys)
|
cmd := newCmdAddTransformer(fSys)
|
||||||
@@ -61,18 +65,18 @@ func TestAddTransformerNoArgs(t *testing.T) {
|
|||||||
|
|
||||||
cmd := newCmdAddTransformer(fSys)
|
cmd := newCmdAddTransformer(fSys)
|
||||||
err := cmd.Execute()
|
err := cmd.Execute()
|
||||||
assert.Error(t, err)
|
assert.EqualError(t, err, "must specify a transformer file")
|
||||||
assert.Equal(t, "must specify a transformer file", err.Error())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestAddTransformerMissingKustomizationYAML(t *testing.T) {
|
func TestAddTransformerMissingKustomizationYAML(t *testing.T) {
|
||||||
fSys := filesys.MakeEmptyDirInMemory()
|
fSys := filesys.MakeEmptyDirInMemory()
|
||||||
fSys.WriteFile(transformerFileName, []byte(transformerFileContent))
|
err := fSys.WriteFile(transformerFileName, []byte(transformerFileContent))
|
||||||
fSys.WriteFile(transformerFileName+"another", []byte(transformerFileContent))
|
require.NoError(t, err)
|
||||||
|
err = fSys.WriteFile(transformerFileName+"another", []byte(transformerFileContent))
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
cmd := newCmdAddTransformer(fSys)
|
cmd := newCmdAddTransformer(fSys)
|
||||||
args := []string{transformerFileName + "*"}
|
args := []string{transformerFileName + "*"}
|
||||||
err := cmd.RunE(cmd, args)
|
err = cmd.RunE(cmd, args)
|
||||||
assert.Error(t, err)
|
assert.EqualError(t, err, "Missing kustomization file 'kustomization.yaml'.\n")
|
||||||
assert.Equal(t, "Missing kustomization file 'kustomization.yaml'.\n", err.Error())
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
"sigs.k8s.io/kustomize/api/filesys"
|
"sigs.k8s.io/kustomize/api/filesys"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -88,13 +88,17 @@ func TestDataConfigValidation_Flags(t *testing.T) {
|
|||||||
|
|
||||||
func TestExpandFileSource(t *testing.T) {
|
func TestExpandFileSource(t *testing.T) {
|
||||||
fSys := filesys.MakeEmptyDirInMemory()
|
fSys := filesys.MakeEmptyDirInMemory()
|
||||||
fSys.Create("dir/fa1")
|
_, err := fSys.Create("dir/fa1")
|
||||||
fSys.Create("dir/fa2")
|
require.NoError(t, err)
|
||||||
fSys.Create("dir/readme")
|
_, err = fSys.Create("dir/fa2")
|
||||||
|
require.NoError(t, err)
|
||||||
|
_, err = fSys.Create("dir/readme")
|
||||||
|
require.NoError(t, err)
|
||||||
fa := flagsAndArgs{
|
fa := flagsAndArgs{
|
||||||
FileSources: []string{"dir/fa*"},
|
FileSources: []string{"dir/fa*"},
|
||||||
}
|
}
|
||||||
fa.ExpandFileSource(fSys)
|
err = fa.ExpandFileSource(fSys)
|
||||||
|
require.NoError(t, err)
|
||||||
expected := []string{
|
expected := []string{
|
||||||
"dir/fa1",
|
"dir/fa1",
|
||||||
"dir/fa2",
|
"dir/fa2",
|
||||||
@@ -106,14 +110,19 @@ func TestExpandFileSource(t *testing.T) {
|
|||||||
|
|
||||||
func TestExpandFileSourceWithKey(t *testing.T) {
|
func TestExpandFileSourceWithKey(t *testing.T) {
|
||||||
fSys := filesys.MakeEmptyDirInMemory()
|
fSys := filesys.MakeEmptyDirInMemory()
|
||||||
fSys.Create("dir/faaaaaaaaaabbbbbbbbbccccccccccccccccc")
|
_, err := fSys.Create("dir/faaaaaaaaaabbbbbbbbbccccccccccccccccc")
|
||||||
fSys.Create("dir/foobar")
|
require.NoError(t, err)
|
||||||
fSys.Create("dir/simplebar")
|
_, err = fSys.Create("dir/foobar")
|
||||||
fSys.Create("dir/readme")
|
require.NoError(t, err)
|
||||||
|
_, err = fSys.Create("dir/simplebar")
|
||||||
|
require.NoError(t, err)
|
||||||
|
_, err = fSys.Create("dir/readme")
|
||||||
|
require.NoError(t, err)
|
||||||
fa := flagsAndArgs{
|
fa := flagsAndArgs{
|
||||||
FileSources: []string{"foo-key=dir/fa*", "bar-key=dir/foobar", "dir/simplebar"},
|
FileSources: []string{"foo-key=dir/fa*", "bar-key=dir/foobar", "dir/simplebar"},
|
||||||
}
|
}
|
||||||
fa.ExpandFileSource(fSys)
|
err = fa.ExpandFileSource(fSys)
|
||||||
|
require.NoError(t, err)
|
||||||
expected := []string{
|
expected := []string{
|
||||||
"foo-key=dir/faaaaaaaaaabbbbbbbbbccccccccccccccccc",
|
"foo-key=dir/faaaaaaaaaabbbbbbbbbccccccccccccccccc",
|
||||||
"bar-key=dir/foobar",
|
"bar-key=dir/foobar",
|
||||||
@@ -126,13 +135,16 @@ func TestExpandFileSourceWithKey(t *testing.T) {
|
|||||||
|
|
||||||
func TestExpandFileSourceWithKeyAndError(t *testing.T) {
|
func TestExpandFileSourceWithKeyAndError(t *testing.T) {
|
||||||
fSys := filesys.MakeFsInMemory()
|
fSys := filesys.MakeFsInMemory()
|
||||||
fSys.Create("dir/fa1")
|
_, err := fSys.Create("dir/fa1")
|
||||||
fSys.Create("dir/fa2")
|
require.NoError(t, err)
|
||||||
fSys.Create("dir/readme")
|
_, err = fSys.Create("dir/fa2")
|
||||||
|
require.NoError(t, err)
|
||||||
|
_, err = fSys.Create("dir/readme")
|
||||||
|
require.NoError(t, err)
|
||||||
fa := flagsAndArgs{
|
fa := flagsAndArgs{
|
||||||
FileSources: []string{"foo-key=dir/fa*"},
|
FileSources: []string{"foo-key=dir/fa*"},
|
||||||
}
|
}
|
||||||
err := fa.ExpandFileSource(fSys)
|
err = fa.ExpandFileSource(fSys)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
t.Fatalf("FileSources should not be correctly expanded: %v", fa.FileSources)
|
t.Fatalf("FileSources should not be correctly expanded: %v", fa.FileSources)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/google/go-cmp/cmp"
|
"github.com/google/go-cmp/cmp"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
"sigs.k8s.io/kustomize/api/filesys"
|
"sigs.k8s.io/kustomize/api/filesys"
|
||||||
"sigs.k8s.io/kustomize/api/konfig"
|
"sigs.k8s.io/kustomize/api/konfig"
|
||||||
"sigs.k8s.io/kustomize/api/types"
|
"sigs.k8s.io/kustomize/api/types"
|
||||||
@@ -125,7 +125,8 @@ configMapGenerator:
|
|||||||
`
|
`
|
||||||
for _, n := range konfig.RecognizedKustomizationFileNames() {
|
for _, n := range konfig.RecognizedKustomizationFileNames() {
|
||||||
fSys := filesys.MakeFsInMemory()
|
fSys := filesys.MakeFsInMemory()
|
||||||
fSys.WriteFile(n, []byte(kcontent))
|
err := fSys.WriteFile(n, []byte(kcontent))
|
||||||
|
require.NoError(t, err)
|
||||||
k, err := NewKustomizationFile(fSys)
|
k, err := NewKustomizationFile(fSys)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Unexpected Error: %v", err)
|
t.Fatalf("Unexpected Error: %v", err)
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import (
|
|||||||
|
|
||||||
"github.com/google/go-cmp/cmp"
|
"github.com/google/go-cmp/cmp"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
"gopkg.in/yaml.v3"
|
"gopkg.in/yaml.v3"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -1671,7 +1672,8 @@ func TestSetName(t *testing.T) {
|
|||||||
if err := rn.UnmarshalJSON([]byte(deploymentBiggerJson)); err != nil {
|
if err := rn.UnmarshalJSON([]byte(deploymentBiggerJson)); err != nil {
|
||||||
t.Fatalf("unexpected unmarshaljson err: %v", err)
|
t.Fatalf("unexpected unmarshaljson err: %v", err)
|
||||||
}
|
}
|
||||||
rn.SetName("marge")
|
err := rn.SetName("marge")
|
||||||
|
require.NoError(t, err)
|
||||||
if expected, actual := "marge", rn.GetName(); expected != actual {
|
if expected, actual := "marge", rn.GetName(); expected != actual {
|
||||||
t.Fatalf("expected '%s', got '%s'", expected, actual)
|
t.Fatalf("expected '%s', got '%s'", expected, actual)
|
||||||
}
|
}
|
||||||
@@ -1682,12 +1684,15 @@ func TestSetNamespace(t *testing.T) {
|
|||||||
if err := rn.UnmarshalJSON([]byte(deploymentBiggerJson)); err != nil {
|
if err := rn.UnmarshalJSON([]byte(deploymentBiggerJson)); err != nil {
|
||||||
t.Fatalf("unexpected unmarshaljson err: %v", err)
|
t.Fatalf("unexpected unmarshaljson err: %v", err)
|
||||||
}
|
}
|
||||||
rn.SetNamespace("flanders")
|
err := rn.SetNamespace("flanders")
|
||||||
meta, _ := rn.GetMeta()
|
require.NoError(t, err)
|
||||||
|
meta, err := rn.GetMeta()
|
||||||
|
require.NoError(t, err)
|
||||||
if expected, actual := "flanders", meta.Namespace; expected != actual {
|
if expected, actual := "flanders", meta.Namespace; expected != actual {
|
||||||
t.Fatalf("expected '%s', got '%s'", expected, actual)
|
t.Fatalf("expected '%s', got '%s'", expected, actual)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSetLabels(t *testing.T) {
|
func TestSetLabels(t *testing.T) {
|
||||||
rn := NewRNode(nil)
|
rn := NewRNode(nil)
|
||||||
if err := rn.UnmarshalJSON([]byte(deploymentBiggerJson)); err != nil {
|
if err := rn.UnmarshalJSON([]byte(deploymentBiggerJson)); err != nil {
|
||||||
|
|||||||
@@ -213,7 +213,10 @@ func String(node *yaml.Node, opts ...string) (string, error) {
|
|||||||
b := &bytes.Buffer{}
|
b := &bytes.Buffer{}
|
||||||
e := NewEncoder(b)
|
e := NewEncoder(b)
|
||||||
err := e.Encode(node)
|
err := e.Encode(node)
|
||||||
e.Close()
|
errClose := e.Close()
|
||||||
|
if err == nil {
|
||||||
|
err = errClose
|
||||||
|
}
|
||||||
val := b.String()
|
val := b.String()
|
||||||
if optsSet.Has(Trim) {
|
if optsSet.Has(Trim) {
|
||||||
val = strings.TrimSpace(val)
|
val = strings.TrimSpace(val)
|
||||||
|
|||||||
@@ -37,11 +37,20 @@ func (p *plugin) Transform(m resmap.ResMap) error {
|
|||||||
if r.GetName() == p.Name {
|
if r.GetName() == p.Name {
|
||||||
for i := 1; i <= p.Count; i++ {
|
for i := 1; i <= p.Count; i++ {
|
||||||
c := r.DeepCopy()
|
c := r.DeepCopy()
|
||||||
c.SetName(fmt.Sprintf("%s-%d", p.Name, i))
|
err := c.SetName(fmt.Sprintf("%s-%d", p.Name, i))
|
||||||
m.Append(c)
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
err = m.Append(c)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
m.Append(r)
|
err := m.Append(r)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
|||||||
Reference in New Issue
Block a user