mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-12 01:14:22 +00:00
Format the output of cfg commands
This commit is contained in:
@@ -13,6 +13,7 @@ import (
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"sigs.k8s.io/kustomize/cmd/config/internal/commands"
|
||||
"sigs.k8s.io/kustomize/kyaml/copyutil"
|
||||
"sigs.k8s.io/kustomize/kyaml/openapi"
|
||||
)
|
||||
|
||||
@@ -79,7 +80,7 @@ spec:
|
||||
- name: sidecar
|
||||
image: nginx:1.7.9 # {"$ref":"#/definitions/io.k8s.cli.substitutions.my.image"}
|
||||
`,
|
||||
out: `deleted substitution "my.image" in package "${baseDir}"`,
|
||||
out: `deleted substitution "my.image"`,
|
||||
expectedResources: `
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
@@ -170,7 +171,7 @@ spec:
|
||||
- name: sidecar
|
||||
image: nginx:1.7.9 # {"$openapi":"my-image-sub"}
|
||||
`,
|
||||
out: `deleted substitution "my-image-sub" in package "${baseDir}"`,
|
||||
out: `deleted substitution "my-image-sub"`,
|
||||
expectedResources: `
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
@@ -472,7 +473,7 @@ spec:
|
||||
expectedOut := strings.Replace(test.out, "${baseDir}", baseDir, -1)
|
||||
expectedNorm := strings.Replace(expectedOut, "\\", "/", -1)
|
||||
|
||||
if !assert.Equal(t, expectedNorm, strings.TrimSpace(actualNorm)) {
|
||||
if !assert.Contains(t, strings.TrimSpace(actualNorm), expectedNorm) {
|
||||
t.FailNow()
|
||||
}
|
||||
|
||||
@@ -495,7 +496,74 @@ spec:
|
||||
strings.TrimSpace(string(actualResources))) {
|
||||
t.FailNow()
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestDeleteSubstitutionSubPackages(t *testing.T) {
|
||||
var tests = []struct {
|
||||
name string
|
||||
dataset string
|
||||
packagePath string
|
||||
args []string
|
||||
expected string
|
||||
}{
|
||||
{
|
||||
name: "delete-substitution-recurse-subpackages",
|
||||
dataset: "dataset-with-setters",
|
||||
args: []string{"image-tag", "-R"},
|
||||
expected: `${baseDir}/mysql/
|
||||
deleted substitution "image-tag"
|
||||
|
||||
${baseDir}/mysql/nosetters/
|
||||
substitution "image-tag" does not exist
|
||||
|
||||
${baseDir}/mysql/storage/
|
||||
substitution "image-tag" does not exist
|
||||
`,
|
||||
},
|
||||
{
|
||||
name: "delete-setter-top-level-pkg-no-recurse-subpackages",
|
||||
dataset: "dataset-with-setters",
|
||||
packagePath: "mysql",
|
||||
args: []string{"image-tag"},
|
||||
expected: `${baseDir}/mysql/
|
||||
deleted substitution "image-tag"
|
||||
`,
|
||||
},
|
||||
}
|
||||
for i := range tests {
|
||||
test := tests[i]
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
// reset the openAPI afterward
|
||||
openapi.ResetOpenAPI()
|
||||
defer openapi.ResetOpenAPI()
|
||||
sourceDir := filepath.Join("test", "testdata", test.dataset)
|
||||
baseDir, err := ioutil.TempDir("", "")
|
||||
if !assert.NoError(t, err) {
|
||||
t.FailNow()
|
||||
}
|
||||
copyutil.CopyDir(sourceDir, baseDir)
|
||||
//defer os.RemoveAll(baseDir)
|
||||
runner := commands.NewDeleteSubstitutionRunner("")
|
||||
actual := &bytes.Buffer{}
|
||||
runner.Command.SetOut(actual)
|
||||
runner.Command.SetArgs(append([]string{filepath.Join(baseDir, test.packagePath)}, test.args...))
|
||||
err = runner.Command.Execute()
|
||||
if !assert.NoError(t, err) {
|
||||
t.FailNow()
|
||||
}
|
||||
|
||||
// normalize path format for windows
|
||||
actualNormalized := strings.Replace(
|
||||
strings.Replace(actual.String(), "\\", "/", -1),
|
||||
"//", "/", -1)
|
||||
|
||||
expected := strings.Replace(test.expected, "${baseDir}", baseDir, -1)
|
||||
expectedNormalized := strings.Replace(expected, "\\", "/", -1)
|
||||
if !assert.Equal(t, expectedNormalized, actualNormalized) {
|
||||
t.FailNow()
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user