mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-05-24 07:47:02 +00:00
[doc]: https://github.com/golang/go/wiki/Modules#releasing-modules-v2-or-higher Per this Go modules [doc] a repo or branch that's already tagged v2 or higher should increment the major version (e.g. go to v3) when releasing their first Go module-based packages. At the moment, the kustomize repo has these top level packages in the sigs.k8s.io/kustomize module: - `cmd` - holds main program for kustomize Conceivably someone can depend on this package for integration tests. - `internal` - intentionally unreleased subpackages - `k8sdeps` - an adapter wrapping k8s dependencies This exists only for use in pre-Go-modules kustomize-into-kubectl integration and won't live much longer (as everything involved is switching to Go modules). - `pkg` - kustomize packages for export This should shrink in later versions, since the surface area is too large, containing sub-packages that should be in 'internal'. - `plugin` - holds main programs for plugins This PR changes the top level go.mod file from ``` module sigs.k8s.io/kustomize ``` to ``` module sigs.k8s.io/kustomize/v3 ``` and adjusts all import statements to reflect the change.
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/pkg/fs"
|
|
"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 := fs.MakeFakeFS()
|
|
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")
|
|
}
|
|
}
|