mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-05-22 06:47:00 +00:00
84 lines
2.1 KiB
Go
84 lines
2.1 KiB
Go
// Copyright 2019 The Kubernetes Authors.
|
|
// SPDX-License-Identifier: Apache-2.
|
|
|
|
package patch
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"sigs.k8s.io/kustomize/v3/pkg/types"
|
|
)
|
|
|
|
func buildPatchStrategicMergeSlice(patchStrings []string) []types.PatchStrategicMerge {
|
|
var patches []types.PatchStrategicMerge
|
|
for _, patchString := range patchStrings {
|
|
patches = append(patches, types.PatchStrategicMerge(patchString))
|
|
}
|
|
return patches
|
|
}
|
|
|
|
func TestAppend(t *testing.T) {
|
|
patchStrings := []string{"patch1.yaml", "patch2.yaml"}
|
|
patches := buildPatchStrategicMergeSlice(patchStrings)
|
|
|
|
patches = Append(patches, "patch3.yaml")
|
|
|
|
for i, k := range []string{"patch1.yaml", "patch2.yaml", "patch3.yaml"} {
|
|
if patches[i] != types.PatchStrategicMerge(k) {
|
|
t.Fatalf("patches[%d] must be %s, got %s", i, k, patches[i])
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestExistTrue(t *testing.T) {
|
|
patchStrings := []string{"patch1.yaml", "patch2.yaml"}
|
|
patches := buildPatchStrategicMergeSlice(patchStrings)
|
|
|
|
for _, patchString := range patchStrings {
|
|
if !Exist(patches, patchString) {
|
|
t.Fatalf("%s must exist", patchString)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestExistFalse(t *testing.T) {
|
|
patchStrings := []string{"patch1.yaml", "patch2.yaml"}
|
|
patches := buildPatchStrategicMergeSlice(patchStrings)
|
|
|
|
for _, patchString := range []string{"invalid1.yaml", "invalid2.yaml"} {
|
|
if Exist(patches, patchString) {
|
|
t.Fatalf("%s must not exist", patchString)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestDelete(t *testing.T) {
|
|
patchStrings := []string{"patch1.yaml", "patch2.yaml"}
|
|
patches := buildPatchStrategicMergeSlice(patchStrings)
|
|
|
|
patches = Delete(patches, "patch1.yaml")
|
|
|
|
if Exist(patches, "patch1.yaml") {
|
|
t.Fatalf("patch1.yaml should be deleted")
|
|
}
|
|
if !Exist(patches, "patch2.yaml") {
|
|
t.Fatalf("patch2.yaml should exist")
|
|
}
|
|
if len(patches) != 1 {
|
|
t.Fatalf("Length of slice must be 1: actual %d", len(patches))
|
|
}
|
|
}
|
|
|
|
func TestDeleteMultiple(t *testing.T) {
|
|
patchStrings := []string{"patch1.yaml", "patch2.yaml"}
|
|
patches := buildPatchStrategicMergeSlice(patchStrings)
|
|
|
|
patches = Delete(patches, "patch2.yaml", "patch4.yaml", "patch1.yaml", "patch3.yaml")
|
|
|
|
for _, k := range patchStrings {
|
|
if Exist(patches, k) {
|
|
t.Fatalf("%s should be deleted", k)
|
|
}
|
|
}
|
|
}
|