From 57e2a30a4aa0504d3f35cb8979b0dc832f76a131 Mon Sep 17 00:00:00 2001 From: Karel Suta Date: Tue, 14 May 2024 09:07:17 +0200 Subject: [PATCH] Use role name as string for role bindings --- support/rbac.go | 12 ++++++------ support/rbac_test.go | 26 ++------------------------ 2 files changed, 8 insertions(+), 30 deletions(-) diff --git a/support/rbac.go b/support/rbac.go index f0fce48..9b7e829 100644 --- a/support/rbac.go +++ b/support/rbac.go @@ -101,7 +101,7 @@ func CreateRoleBinding(t Test, namespace string, serviceAccount *corev1.ServiceA return rb } -func CreateUserRoleBinding(t Test, namespace string, userName string, role *rbacv1.Role) *rbacv1.RoleBinding { +func CreateUserRoleBinding(t Test, namespace string, userName string, roleName string) *rbacv1.RoleBinding { t.T().Helper() roleBinding := &rbacv1.RoleBinding{ @@ -115,7 +115,7 @@ func CreateUserRoleBinding(t Test, namespace string, userName string, role *rbac RoleRef: rbacv1.RoleRef{ APIGroup: rbacv1.SchemeGroupVersion.Group, Kind: "Role", - Name: role.Name, + Name: roleName, }, Subjects: []rbacv1.Subject{ { @@ -127,7 +127,7 @@ func CreateUserRoleBinding(t Test, namespace string, userName string, role *rbac } rb, err := t.Client().Core().RbacV1().RoleBindings(namespace).Create(t.Ctx(), roleBinding, metav1.CreateOptions{}) t.Expect(err).NotTo(gomega.HaveOccurred()) - t.T().Logf("Created User RoleBinding %s/%s successfully", role.Namespace, role.Name) + t.T().Logf("Created User RoleBinding %s/%s successfully", roleBinding.Namespace, roleBinding.Name) return rb } @@ -168,7 +168,7 @@ func CreateClusterRoleBinding(t Test, serviceAccount *corev1.ServiceAccount, rol return rb } -func CreateUserClusterRoleBinding(t Test, userName string, role *rbacv1.ClusterRole) *rbacv1.ClusterRoleBinding { +func CreateUserClusterRoleBinding(t Test, userName string, roleName string) *rbacv1.ClusterRoleBinding { t.T().Helper() roleBinding := &rbacv1.ClusterRoleBinding{ @@ -182,7 +182,7 @@ func CreateUserClusterRoleBinding(t Test, userName string, role *rbacv1.ClusterR RoleRef: rbacv1.RoleRef{ APIGroup: rbacv1.SchemeGroupVersion.Group, Kind: "ClusterRole", - Name: role.Name, + Name: roleName, }, Subjects: []rbacv1.Subject{ { @@ -194,7 +194,7 @@ func CreateUserClusterRoleBinding(t Test, userName string, role *rbacv1.ClusterR } rb, err := t.Client().Core().RbacV1().ClusterRoleBindings().Create(t.Ctx(), roleBinding, metav1.CreateOptions{}) t.Expect(err).NotTo(gomega.HaveOccurred()) - t.T().Logf("Created User ClusterRoleBinding %s/%s successfully", role.Namespace, role.Name) + t.T().Logf("Created User ClusterRoleBinding %s successfully", roleBinding.Name) t.T().Cleanup(func() { t.Client().Core().RbacV1().ClusterRoleBindings().Delete(t.Ctx(), rb.Name, metav1.DeleteOptions{}) diff --git a/support/rbac_test.go b/support/rbac_test.go index f0a7098..ada45ec 100644 --- a/support/rbac_test.go +++ b/support/rbac_test.go @@ -22,25 +22,13 @@ import ( "github.com/onsi/gomega" rbacv1 "k8s.io/api/rbac/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) func TestCreateUserRoleBinding(t *testing.T) { test := NewTest(t) - role := &rbacv1.Role{ - TypeMeta: metav1.TypeMeta{ - APIVersion: rbacv1.SchemeGroupVersion.String(), - Kind: "Role", - }, - ObjectMeta: metav1.ObjectMeta{ - Name: "role1", - Namespace: "ns-1", - }, - } - - rb := CreateUserRoleBinding(test, "ns-1", "user-1", role) + rb := CreateUserRoleBinding(test, "ns-1", "user-1", "role1") test.Expect(rb).To(gomega.Not(gomega.BeNil())) test.Expect(rb.GenerateName).To(gomega.Equal("rb-")) @@ -59,17 +47,7 @@ func TestCreateUserClusterRoleBinding(t *testing.T) { test := NewTest(t) - crole := &rbacv1.ClusterRole{ - TypeMeta: metav1.TypeMeta{ - APIVersion: rbacv1.SchemeGroupVersion.String(), - Kind: "ClusterRole", - }, - ObjectMeta: metav1.ObjectMeta{ - Name: "role1", - }, - } - - rb := CreateUserClusterRoleBinding(test, "user-1", crole) + rb := CreateUserClusterRoleBinding(test, "user-1", "role1") test.Expect(rb).To(gomega.Not(gomega.BeNil())) test.Expect(rb.GenerateName).To(gomega.Equal("crb-"))