NamespaceTransformer tests

Follow up items to #2288
This commit is contained in:
Phillip Wittrock
2020-03-29 19:00:52 -07:00
parent 50cc1968e4
commit 11ce0128ad
3 changed files with 59 additions and 43 deletions

View File

@@ -7,13 +7,12 @@ import (
"fmt"
"sigs.k8s.io/kustomize/api/filters/namespace"
"sigs.k8s.io/kustomize/api/transform"
"sigs.k8s.io/kustomize/kyaml/filtersutil"
"sigs.k8s.io/kustomize/api/resid"
"sigs.k8s.io/kustomize/api/resmap"
"sigs.k8s.io/kustomize/api/resource"
"sigs.k8s.io/kustomize/api/transform"
"sigs.k8s.io/kustomize/api/types"
"sigs.k8s.io/kustomize/kyaml/filtersutil"
"sigs.k8s.io/yaml"
)
@@ -23,8 +22,9 @@ type NamespaceTransformerPlugin struct {
FieldSpecs []types.FieldSpec `json:"fieldSpecs,omitempty" yaml:"fieldSpecs,omitempty"`
// YAMLSupport can be set to true to use the kyaml filter instead of the
// kunstruct transformer
YAMLSupport bool
// kunstruct transformer.
// TODO: change the default to use kyaml when it is stable
YAMLSupport bool `json:"yamlSupport,omitempty" yaml:"yamlSupport,omitempty"`
}
func (p *NamespaceTransformerPlugin) Config(

View File

@@ -8,13 +8,12 @@ import (
"fmt"
"sigs.k8s.io/kustomize/api/filters/namespace"
"sigs.k8s.io/kustomize/api/transform"
"sigs.k8s.io/kustomize/kyaml/filtersutil"
"sigs.k8s.io/kustomize/api/resid"
"sigs.k8s.io/kustomize/api/resmap"
"sigs.k8s.io/kustomize/api/resource"
"sigs.k8s.io/kustomize/api/transform"
"sigs.k8s.io/kustomize/api/types"
"sigs.k8s.io/kustomize/kyaml/filtersutil"
"sigs.k8s.io/yaml"
)
@@ -24,8 +23,9 @@ type plugin struct {
FieldSpecs []types.FieldSpec `json:"fieldSpecs,omitempty" yaml:"fieldSpecs,omitempty"`
// YAMLSupport can be set to true to use the kyaml filter instead of the
// kunstruct transformer
YAMLSupport bool
// kunstruct transformer.
// TODO: change the default to use kyaml when it is stable
YAMLSupport bool `json:"yamlSupport,omitempty" yaml:"yamlSupport,omitempty"`
}
//noinspection GoUnusedGlobalVariable

View File

@@ -4,6 +4,7 @@
package main_test
import (
"fmt"
"strings"
"testing"
@@ -11,16 +12,18 @@ import (
)
func TestNamespaceTransformer1(t *testing.T) {
for _, b := range []bool{true, false} {
t.Run(fmt.Sprintf("yaml-%v", b), func(t *testing.T) {
th := kusttest_test.MakeEnhancedHarness(t).
PrepBuiltin("NamespaceTransformer")
defer th.Reset()
rm := th.LoadAndRunTransformer(`
rm := th.LoadAndRunTransformer(fmt.Sprintf(`
apiVersion: builtin
kind: NamespaceTransformer
metadata:
name: notImportantHere
namespace: test
yamlSupport: %v
fieldSpecs:
- path: metadata/namespace
create: true
@@ -30,7 +33,7 @@ fieldSpecs:
- path: subjects
kind: ClusterRoleBinding
group: rbac.authorization.k8s.io
`, `
`, b), `
apiVersion: v1
kind: ConfigMap
metadata:
@@ -182,9 +185,13 @@ kind: CustomResourceDefinition
metadata:
name: crd
`)
})
}
}
func TestNamespaceTransformerClusterLevelKinds(t *testing.T) {
for _, b := range []bool{true, false} {
t.Run(fmt.Sprintf("yaml-%v", b), func(t *testing.T) {
th := kusttest_test.MakeEnhancedHarness(t).
PrepBuiltin("NamespaceTransformer")
defer th.Reset()
@@ -211,12 +218,13 @@ kind: PersistentVolume
metadata:
name: pv1
`
rm := th.LoadAndRunTransformer(`
rm := th.LoadAndRunTransformer(fmt.Sprintf(`
apiVersion: builtin
kind: NamespaceTransformer
metadata:
name: notImportantHere
namespace: test
yamlSupport: %v
fieldSpecs:
- path: metadata/namespace
create: true
@@ -226,26 +234,32 @@ fieldSpecs:
- path: subjects
kind: ClusterRoleBinding
group: rbac.authorization.k8s.io
`, noChangeExpected)
`, b), noChangeExpected)
th.AssertActualEqualsExpected(rm, noChangeExpected)
})
}
}
func TestNamespaceTransformerObjectConflict(t *testing.T) {
for _, b := range []bool{true, false} {
t.Run(fmt.Sprintf("yaml-%v", b), func(t *testing.T) {
th := kusttest_test.MakeEnhancedHarness(t).
PrepBuiltin("NamespaceTransformer")
defer th.Reset()
err := th.ErrorFromLoadAndRunTransformer(`
err := th.ErrorFromLoadAndRunTransformer(fmt.Sprintf(`
apiVersion: builtin
kind: NamespaceTransformer
metadata:
name: notImportantHere
namespace: test
yamlSupport: %v
fieldSpecs:
- path: metadata/namespace
create: true
`, `
`, b), `
apiVersion: v1
kind: ConfigMap
metadata:
@@ -265,4 +279,6 @@ metadata:
if !strings.Contains(err.Error(), "ID conflict") {
t.Fatalf("unexpected error: %s", err.Error())
}
})
}
}