Allow exec and function transformers to delete resources

This commit is contained in:
Katrina Verey
2021-02-04 11:14:46 -08:00
parent 97a2b15be6
commit 1460d13d50
2 changed files with 80 additions and 29 deletions

View File

@@ -4,6 +4,7 @@
package starlarkmixer_test
import (
"strings"
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
@@ -29,6 +30,11 @@ metadata:
name: some-cm
data:
foo: bar
---
apiVersion: v1
kind: ConfigMap
metadata:
name: delete-me
`)
th.AssertActualEqualsExpected(rm, `
@@ -59,3 +65,46 @@ metadata:
name: net-new
`)
}
func TestStarlarkMixerPlugin_duplicate_rejection(t *testing.T) {
th := kusttest_test.MakeEnhancedHarness(t)
defer th.Reset()
th.RunTransformerAndCheckError(`
apiVersion: someteam.example.com/v1
kind: StarlarkMixer
metadata:
name: mixer-instance
annotations:
config.kubernetes.io/function: |
starlark:
path: mixer.star
`,
`apiVersion: v1
kind: ConfigMap
metadata:
name: some-cm
data:
foo: bar
---
apiVersion: v1
kind: ConfigMap
metadata:
name: some-cm-copy
data:
foo: bar
`,
func(t *testing.T, err error) {
if err == nil {
t.Fatal("expected error")
}
expectedErr := "plugin api: someteam.example.com/v1, " +
"kind: StarlarkMixer, " +
"name: mixer-instance generated duplicate " +
"resource: {\"version\":\"v1\",\"kind\":\"ConfigMap\",\"name\":\"some-cm-copy\"}"
if !strings.Contains(err.Error(), expectedErr) {
t.Fatalf("unexpected error: %s", err.Error())
}
},
)
}