From 72a28665086c27f3c489f09f1edf09212e0dd7f7 Mon Sep 17 00:00:00 2001 From: Marcel Boehm Date: Tue, 15 Apr 2025 11:36:32 +0200 Subject: [PATCH] Add test for reading multiple Kustomizations in a single file Signed-off-by: Marcel Boehm --- internal/build/build_test.go | 10 ++++++++++ .../local-kustomization/multi-doc-reset.yaml | 18 ++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 internal/build/testdata/local-kustomization/multi-doc-reset.yaml diff --git a/internal/build/build_test.go b/internal/build/build_test.go index affc0d69..bf82513f 100644 --- a/internal/build/build_test.go +++ b/internal/build/build_test.go @@ -226,6 +226,16 @@ func Test_unMarshallKustomization(t *testing.T) { } }) } + t.Run("correct parsing of multiple documents", func(t *testing.T) { + b.kustomizationFile = "testdata/local-kustomization/multi-doc-reset.yaml" + ks, err := b.unMarshallKustomization() + if err != nil { + t.Errorf("unexpected err '%s'", err) + } + if len(ks.Spec.Components) > 0 { + t.Errorf("previous Kustomization in file leaked into subsequent Kustomizations") + } + }) } func Test_ResolveKustomization(t *testing.T) { diff --git a/internal/build/testdata/local-kustomization/multi-doc-reset.yaml b/internal/build/testdata/local-kustomization/multi-doc-reset.yaml new file mode 100644 index 00000000..fcbe73b8 --- /dev/null +++ b/internal/build/testdata/local-kustomization/multi-doc-reset.yaml @@ -0,0 +1,18 @@ +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: first + namespace: flux-system +spec: + path: "./k8s/first" + components: + - foo +--- +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: podinfo + namespace: flux-system +spec: + path: "./k8s/second" +---