mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-05-17 18:25:26 +00:00
Add coverage for kusttarget.Load
This commit is contained in:
@@ -55,7 +55,10 @@ func (kt *KustTarget) Load() error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
content = types.FixKustomizationPreUnmarshalling(content)
|
||||
content, err = types.FixKustomizationPreUnmarshalling(content)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
var k types.Kustomization
|
||||
err = unmarshal(content, &k)
|
||||
if err != nil {
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
"encoding/base64"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
"sigs.k8s.io/kustomize/api/ifc"
|
||||
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
||||
"sigs.k8s.io/kustomize/api/resmap"
|
||||
@@ -17,6 +18,66 @@ import (
|
||||
// KustTarget is primarily tested in the krusty package with
|
||||
// high level tests.
|
||||
|
||||
func TestLoad(t *testing.T) {
|
||||
th := kusttest_test.MakeHarness(t)
|
||||
testCases := map[string]struct {
|
||||
errContains string
|
||||
content string
|
||||
}{
|
||||
"empty": {
|
||||
errContains: "unable to find one of 'kustomization.yaml', ",
|
||||
// no content
|
||||
},
|
||||
"nonsenseLatin": {
|
||||
errContains: "error converting YAML to JSON",
|
||||
content: `
|
||||
Lorem ipsum dolor sit amet, consectetur
|
||||
adipiscing elit, sed do eiusmod tempor
|
||||
incididunt ut labore et dolore magna aliqua.
|
||||
Ut enim ad minim veniam, quis nostrud
|
||||
exercitation ullamco laboris nisi ut
|
||||
aliquip ex ea commodo consequat.
|
||||
`,
|
||||
},
|
||||
"implicitHeader": {
|
||||
content: `
|
||||
commonLabels:
|
||||
app: nginx
|
||||
`,
|
||||
},
|
||||
"explicitHeader": {
|
||||
content: `
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
commonLabels:
|
||||
app: nginx
|
||||
`,
|
||||
},
|
||||
}
|
||||
|
||||
kt := makeKustTargetWithRf(
|
||||
t, th.GetFSys(), "/",
|
||||
resource.NewFactory(kunstruct.NewKunstructuredFactoryImpl()))
|
||||
|
||||
for tn, tc := range testCases {
|
||||
if tn != "nonsenseLatin" {
|
||||
continue
|
||||
}
|
||||
t.Run(tn, func(t *testing.T) {
|
||||
if tc.content != "" {
|
||||
th.WriteK("/", tc.content)
|
||||
}
|
||||
err := kt.Load()
|
||||
if tc.errContains != "" {
|
||||
require.NotNilf(t, err, "expected error containing: `%s`", tc.errContains)
|
||||
require.Contains(t, err.Error(), tc.errContains)
|
||||
} else {
|
||||
require.Nilf(t, err, "got error: %v", err)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestMakeCustomizedResMap(t *testing.T) {
|
||||
th := kusttest_test.MakeHarness(t)
|
||||
th.WriteK("/whatever", `
|
||||
@@ -165,8 +226,13 @@ metadata:
|
||||
}
|
||||
}
|
||||
|
||||
actual, err := makeKustTargetWithRf(
|
||||
t, th.GetFSys(), "/whatever", resFactory).MakeCustomizedResMap()
|
||||
kt := makeKustTargetWithRf(
|
||||
t, th.GetFSys(), "/whatever", resFactory)
|
||||
err := kt.Load()
|
||||
if err != nil {
|
||||
t.Fatalf("unexpected Resources error %v", err)
|
||||
}
|
||||
actual, err := kt.MakeCustomizedResMap()
|
||||
if err != nil {
|
||||
t.Fatalf("unexpected Resources error %v", err)
|
||||
}
|
||||
|
||||
@@ -18,13 +18,17 @@ import (
|
||||
valtest_test "sigs.k8s.io/kustomize/api/testutils/valtest"
|
||||
)
|
||||
|
||||
func makeKustTarget(
|
||||
func makeAndLoadKustTarget(
|
||||
t *testing.T,
|
||||
fSys filesys.FileSystem,
|
||||
root string) *target.KustTarget {
|
||||
return makeKustTargetWithRf(
|
||||
kt := makeKustTargetWithRf(
|
||||
t, fSys, root,
|
||||
resource.NewFactory(kunstruct.NewKunstructuredFactoryImpl()))
|
||||
if err := kt.Load(); err != nil {
|
||||
t.Fatalf("Unexpected load error %v", err)
|
||||
}
|
||||
return kt
|
||||
}
|
||||
|
||||
func makeKustTargetWithRf(
|
||||
@@ -38,14 +42,10 @@ func makeKustTargetWithRf(
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
kt := target.NewKustTarget(
|
||||
return target.NewKustTarget(
|
||||
ldr,
|
||||
valtest_test.MakeFakeValidator(),
|
||||
rf,
|
||||
transformer.NewFactoryImpl(),
|
||||
pLdr.NewLoader(pc, rf))
|
||||
if err = kt.Load(); err != nil {
|
||||
t.Fatalf("Unexpected construction error %v", err)
|
||||
}
|
||||
return kt
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ vars:
|
||||
name: heron
|
||||
apiVersion: v300
|
||||
`)
|
||||
ra, err := makeKustTarget(
|
||||
ra, err := makeAndLoadKustTarget(
|
||||
t, th.GetFSys(), "/app").AccumulateTarget()
|
||||
if err != nil {
|
||||
t.Fatalf("Err: %v", err)
|
||||
@@ -119,7 +119,7 @@ resources:
|
||||
- ../o1
|
||||
`)
|
||||
|
||||
ra, err := makeKustTarget(
|
||||
ra, err := makeAndLoadKustTarget(
|
||||
t, th.GetFSys(), "/app/overlays/o2").AccumulateTarget()
|
||||
if err != nil {
|
||||
t.Fatalf("Err: %v", err)
|
||||
@@ -176,7 +176,7 @@ vars:
|
||||
resources:
|
||||
- ../o1
|
||||
`)
|
||||
_, err := makeKustTarget(
|
||||
_, err := makeAndLoadKustTarget(
|
||||
t, th.GetFSys(), "/app/overlays/o2").AccumulateTarget()
|
||||
if err == nil {
|
||||
t.Fatalf("expected var collision")
|
||||
|
||||
Reference in New Issue
Block a user