Merge pull request #4312 from m-Bilal/fix-4240

Fixes 4240; added null check on namespace when resource is a RoleBinding
This commit is contained in:
Kubernetes Prow Robot
2022-01-10 09:43:13 -08:00
committed by GitHub
5 changed files with 74 additions and 12 deletions

View File

@@ -0,0 +1,49 @@
package krusty_test
import (
"strings"
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
// test for https://github.com/kubernetes-sigs/kustomize/issues/4240
func TestBlankNamespace4240(t *testing.T) {
th := kusttest_test.MakeHarness(t)
th.WriteK(".", `
resources:
- resource.yaml
`)
th.WriteF("resource.yaml", `
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: test
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: test
rules: []
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: test
subjects:
- kind: ServiceAccount
name: test
namespace:
roleRef:
kind: Role
name: test
apiGroup: rbac.authorization.k8s.io
`)
err := th.RunWithErr(".", th.MakeDefaultOptions())
if !strings.Contains(err.Error(), "Invalid Input: namespace is blank for resource") {
t.Fatalf("unexpected error: %q", err)
}
}