mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-11 17:12:51 +00:00
Add json6902 patch filter based on kyaml libraries
This commit is contained in:
@@ -32,7 +32,7 @@ func TestPatchJson6902TransformerMissingFile(t *testing.T) {
|
||||
PrepBuiltin("PatchJson6902Transformer")
|
||||
defer th.Reset()
|
||||
|
||||
_, err := th.RunTransformer(`
|
||||
th.RunTransformerAndCheckError(`
|
||||
apiVersion: builtin
|
||||
kind: PatchJson6902Transformer
|
||||
metadata:
|
||||
@@ -43,13 +43,14 @@ target:
|
||||
kind: Deployment
|
||||
name: myDeploy
|
||||
path: jsonpatch.json
|
||||
`, target)
|
||||
if err == nil {
|
||||
t.Fatalf("expected error")
|
||||
}
|
||||
if !strings.Contains(err.Error(), "'/jsonpatch.json' doesn't exist") {
|
||||
t.Fatalf("unexpected err: %v", err)
|
||||
}
|
||||
`, target, func(t *testing.T, err error) {
|
||||
if err == nil {
|
||||
t.Fatalf("expected error")
|
||||
}
|
||||
if !strings.Contains(err.Error(), "'/jsonpatch.json' doesn't exist") {
|
||||
t.Fatalf("unexpected err: %v", err)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func TestBadPatchJson6902Transformer(t *testing.T) {
|
||||
@@ -57,7 +58,7 @@ func TestBadPatchJson6902Transformer(t *testing.T) {
|
||||
PrepBuiltin("PatchJson6902Transformer")
|
||||
defer th.Reset()
|
||||
|
||||
_, err := th.RunTransformer(`
|
||||
th.RunTransformerAndCheckError(`
|
||||
apiVersion: builtin
|
||||
kind: PatchJson6902Transformer
|
||||
metadata:
|
||||
@@ -68,13 +69,14 @@ target:
|
||||
kind: Deployment
|
||||
name: myDeploy
|
||||
jsonOp: 'thisIsNotAPatch'
|
||||
`, target)
|
||||
if err == nil {
|
||||
t.Fatalf("expected error")
|
||||
}
|
||||
if !strings.Contains(err.Error(), "cannot unmarshal string into Go value of type jsonpatch") {
|
||||
t.Fatalf("unexpected err: %v", err)
|
||||
}
|
||||
`, target, func(t *testing.T, err error) {
|
||||
if err == nil {
|
||||
t.Fatalf("expected error")
|
||||
}
|
||||
if !strings.Contains(err.Error(), "cannot unmarshal string into Go value of type jsonpatch") {
|
||||
t.Fatalf("unexpected err: %v", err)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func TestBothEmptyJson6902Transformer(t *testing.T) {
|
||||
@@ -82,7 +84,7 @@ func TestBothEmptyJson6902Transformer(t *testing.T) {
|
||||
PrepBuiltin("PatchJson6902Transformer")
|
||||
defer th.Reset()
|
||||
|
||||
_, err := th.RunTransformer(`
|
||||
th.RunTransformerAndCheckError(`
|
||||
apiVersion: builtin
|
||||
kind: PatchJson6902Transformer
|
||||
metadata:
|
||||
@@ -92,13 +94,14 @@ target:
|
||||
version: v1
|
||||
kind: Deployment
|
||||
name: myDeploy
|
||||
`, target)
|
||||
if err == nil {
|
||||
t.Fatalf("expected error")
|
||||
}
|
||||
if !strings.Contains(err.Error(), "empty file path and empty jsonOp") {
|
||||
t.Fatalf("unexpected err: %v", err)
|
||||
}
|
||||
`, target, func(t *testing.T, err error) {
|
||||
if err == nil {
|
||||
t.Fatalf("expected error")
|
||||
}
|
||||
if !strings.Contains(err.Error(), "empty file path and empty jsonOp") {
|
||||
t.Fatalf("unexpected err: %v", err)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func TestBothSpecifiedJson6902Transformer(t *testing.T) {
|
||||
@@ -112,7 +115,7 @@ func TestBothSpecifiedJson6902Transformer(t *testing.T) {
|
||||
{"op": "add", "path": "/spec/template/spec/containers/0/command", "value": ["arg1", "arg2", "arg3"]}
|
||||
]`)
|
||||
|
||||
_, err := th.RunTransformer(`
|
||||
th.RunTransformerAndCheckError(`
|
||||
apiVersion: builtin
|
||||
kind: PatchJson6902Transformer
|
||||
metadata:
|
||||
@@ -124,13 +127,14 @@ target:
|
||||
name: myDeploy
|
||||
path: jsonpatch.json
|
||||
jsonOp: '[{"op": "add", "path": "/spec/template/spec/dnsPolicy", "value": "ClusterFirst"}]'
|
||||
`, target)
|
||||
if err == nil {
|
||||
t.Fatalf("expected error")
|
||||
}
|
||||
if !strings.Contains(err.Error(), "must specify a file path or jsonOp, not both") {
|
||||
t.Fatalf("unexpected err: %v", err)
|
||||
}
|
||||
`, target, func(t *testing.T, err error) {
|
||||
if err == nil {
|
||||
t.Fatalf("expected error")
|
||||
}
|
||||
if !strings.Contains(err.Error(), "must specify a file path or jsonOp, not both") {
|
||||
t.Fatalf("unexpected err: %v", err)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func TestPatchJson6902TransformerFromJsonFile(t *testing.T) {
|
||||
@@ -144,7 +148,7 @@ func TestPatchJson6902TransformerFromJsonFile(t *testing.T) {
|
||||
{"op": "add", "path": "/spec/template/spec/containers/0/command", "value": ["arg1", "arg2", "arg3"]}
|
||||
]`)
|
||||
|
||||
rm := th.LoadAndRunTransformer(`
|
||||
th.RunTransformerAndCheckResult(`
|
||||
apiVersion: builtin
|
||||
kind: PatchJson6902Transformer
|
||||
metadata:
|
||||
@@ -155,9 +159,9 @@ target:
|
||||
kind: Deployment
|
||||
name: myDeploy
|
||||
path: jsonpatch.json
|
||||
`, target)
|
||||
|
||||
th.AssertActualEqualsExpected(rm, `
|
||||
`,
|
||||
target,
|
||||
`
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
@@ -190,7 +194,7 @@ func TestPatchJson6902TransformerFromYamlFile(t *testing.T) {
|
||||
value: ["arg1", "arg2", "arg3"]
|
||||
`)
|
||||
|
||||
rm := th.LoadAndRunTransformer(`
|
||||
th.RunTransformerAndCheckResult(`
|
||||
apiVersion: builtin
|
||||
kind: PatchJson6902Transformer
|
||||
metadata:
|
||||
@@ -201,9 +205,9 @@ target:
|
||||
kind: Deployment
|
||||
name: myDeploy
|
||||
path: jsonpatch.json
|
||||
`, target)
|
||||
|
||||
th.AssertActualEqualsExpected(rm, `
|
||||
`,
|
||||
target,
|
||||
`
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
@@ -230,7 +234,7 @@ func TestPatchJson6902TransformerWithInlineJSON(t *testing.T) {
|
||||
PrepBuiltin("PatchJson6902Transformer")
|
||||
defer th.Reset()
|
||||
|
||||
rm := th.LoadAndRunTransformer(`
|
||||
th.RunTransformerAndCheckResult(`
|
||||
apiVersion: builtin
|
||||
kind: PatchJson6902Transformer
|
||||
metadata:
|
||||
@@ -241,9 +245,9 @@ target:
|
||||
kind: Deployment
|
||||
name: myDeploy
|
||||
jsonOp: '[{"op": "add", "path": "/spec/template/spec/dnsPolicy", "value": "ClusterFirst"}]'
|
||||
`, target)
|
||||
|
||||
th.AssertActualEqualsExpected(rm, `
|
||||
`,
|
||||
target,
|
||||
`
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
@@ -267,7 +271,7 @@ func TestPatchJson6902TransformerWithInlineYAML(t *testing.T) {
|
||||
PrepBuiltin("PatchJson6902Transformer")
|
||||
defer th.Reset()
|
||||
|
||||
rm := th.LoadAndRunTransformer(`
|
||||
th.RunTransformerAndCheckResult(`
|
||||
apiVersion: builtin
|
||||
kind: PatchJson6902Transformer
|
||||
metadata:
|
||||
@@ -281,9 +285,9 @@ jsonOp: |-
|
||||
- op: add
|
||||
path: /spec/template/spec/dnsPolicy
|
||||
value: ClusterFirst
|
||||
`, target)
|
||||
|
||||
th.AssertActualEqualsExpected(rm, `
|
||||
`,
|
||||
target,
|
||||
`
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
|
||||
Reference in New Issue
Block a user