Improved error message and test cases for 4240

This commit is contained in:
m-Bilal
2022-01-09 19:05:49 +05:30
parent ff7b2f20d5
commit 7674c220b1
2 changed files with 50 additions and 1 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)
}
}

View File

@@ -442,7 +442,7 @@ func getNamespacesForRoleBinding(r *resource.Resource) (map[string]bool, error)
if n, ok3 := ns.(string); ok3 {
result[n] = true
} else {
return nil, errors.New("Invalid Input: namespace is blank")
return nil, errors.New(fmt.Sprintf("Invalid Input: namespace is blank for resource %q\n", r.CurId()))
}
}
}