mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-12 09:24:23 +00:00
108 lines
3.0 KiB
Go
108 lines
3.0 KiB
Go
// Copyright 2019 The Kubernetes Authors.
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package add
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"sigs.k8s.io/kustomize/v3/filesys"
|
|
"sigs.k8s.io/kustomize/v3/pkg/loader"
|
|
"sigs.k8s.io/kustomize/v3/pkg/types"
|
|
"sigs.k8s.io/kustomize/v3/pkg/validators"
|
|
)
|
|
|
|
func TestNewAddConfigMapIsNotNil(t *testing.T) {
|
|
fSys := filesys.MakeFsInMemory()
|
|
ldr := loader.NewFileLoaderAtCwd(validators.MakeFakeValidator(), fSys)
|
|
if newCmdAddConfigMap(fSys, ldr, nil) == nil {
|
|
t.Fatal("newCmdAddConfigMap shouldn't be nil")
|
|
}
|
|
}
|
|
|
|
func TestMakeConfigMapArgs(t *testing.T) {
|
|
cmName := "test-config-name"
|
|
|
|
kustomization := &types.Kustomization{
|
|
NamePrefix: "test-name-prefix",
|
|
}
|
|
|
|
if len(kustomization.ConfigMapGenerator) != 0 {
|
|
t.Fatal("Initial kustomization should not have any configmaps")
|
|
}
|
|
args := findOrMakeConfigMapArgs(kustomization, cmName)
|
|
|
|
if args == nil {
|
|
t.Fatalf("args should always be non-nil")
|
|
}
|
|
|
|
if len(kustomization.ConfigMapGenerator) != 1 {
|
|
t.Fatalf("Kustomization should have newly created configmap")
|
|
}
|
|
|
|
if &kustomization.ConfigMapGenerator[len(kustomization.ConfigMapGenerator)-1] != args {
|
|
t.Fatalf("Pointer address for newly inserted configmap generator should be same")
|
|
}
|
|
|
|
args2 := findOrMakeConfigMapArgs(kustomization, cmName)
|
|
|
|
if args2 != args {
|
|
t.Fatalf("should have returned an existing args with name: %v", cmName)
|
|
}
|
|
|
|
if len(kustomization.ConfigMapGenerator) != 1 {
|
|
t.Fatalf("Should not insert configmap for an existing name: %v", cmName)
|
|
}
|
|
}
|
|
|
|
func TestMergeFlagsIntoConfigMapArgs_LiteralSources(t *testing.T) {
|
|
k := &types.Kustomization{}
|
|
args := findOrMakeConfigMapArgs(k, "foo")
|
|
mergeFlagsIntoGeneratorArgs(
|
|
&args.GeneratorArgs,
|
|
flagsAndArgs{LiteralSources: []string{"k1=v1"}})
|
|
mergeFlagsIntoGeneratorArgs(
|
|
&args.GeneratorArgs,
|
|
flagsAndArgs{LiteralSources: []string{"k2=v2"}})
|
|
if k.ConfigMapGenerator[0].LiteralSources[0] != "k1=v1" {
|
|
t.Fatalf("expected v1")
|
|
}
|
|
if k.ConfigMapGenerator[0].LiteralSources[1] != "k2=v2" {
|
|
t.Fatalf("expected v2")
|
|
}
|
|
}
|
|
|
|
func TestMergeFlagsIntoConfigMapArgs_FileSources(t *testing.T) {
|
|
k := &types.Kustomization{}
|
|
args := findOrMakeConfigMapArgs(k, "foo")
|
|
mergeFlagsIntoGeneratorArgs(
|
|
&args.GeneratorArgs,
|
|
flagsAndArgs{FileSources: []string{"file1"}})
|
|
mergeFlagsIntoGeneratorArgs(
|
|
&args.GeneratorArgs,
|
|
flagsAndArgs{FileSources: []string{"file2"}})
|
|
if k.ConfigMapGenerator[0].FileSources[0] != "file1" {
|
|
t.Fatalf("expected file1")
|
|
}
|
|
if k.ConfigMapGenerator[0].FileSources[1] != "file2" {
|
|
t.Fatalf("expected file2")
|
|
}
|
|
}
|
|
|
|
func TestMergeFlagsIntoConfigMapArgs_EnvSource(t *testing.T) {
|
|
k := &types.Kustomization{}
|
|
args := findOrMakeConfigMapArgs(k, "foo")
|
|
mergeFlagsIntoGeneratorArgs(
|
|
&args.GeneratorArgs,
|
|
flagsAndArgs{EnvFileSource: "env1"})
|
|
mergeFlagsIntoGeneratorArgs(
|
|
&args.GeneratorArgs,
|
|
flagsAndArgs{EnvFileSource: "env2"})
|
|
if k.ConfigMapGenerator[0].EnvSources[0] != "env1" {
|
|
t.Fatalf("expected env1")
|
|
}
|
|
if k.ConfigMapGenerator[0].EnvSources[1] != "env2" {
|
|
t.Fatalf("expected env2")
|
|
}
|
|
}
|