@@ -101,6 +101,37 @@ func CreateRoleBinding(t Test, namespace string, serviceAccount *corev1.ServiceA
101
101
return rb
102
102
}
103
103
104
+ func CreateUserRoleBinding (t Test , namespace string , userName string , role * rbacv1.Role ) * rbacv1.RoleBinding {
105
+ t .T ().Helper ()
106
+
107
+ roleBinding := & rbacv1.RoleBinding {
108
+ TypeMeta : metav1.TypeMeta {
109
+ APIVersion : rbacv1 .SchemeGroupVersion .String (),
110
+ Kind : "RoleBinding" ,
111
+ },
112
+ ObjectMeta : metav1.ObjectMeta {
113
+ GenerateName : "rb-" ,
114
+ },
115
+ RoleRef : rbacv1.RoleRef {
116
+ APIGroup : rbacv1 .SchemeGroupVersion .Group ,
117
+ Kind : "Role" ,
118
+ Name : role .Name ,
119
+ },
120
+ Subjects : []rbacv1.Subject {
121
+ {
122
+ Kind : "User" ,
123
+ APIGroup : rbacv1 .SchemeGroupVersion .Group ,
124
+ Name : userName ,
125
+ },
126
+ },
127
+ }
128
+ rb , err := t .Client ().Core ().RbacV1 ().RoleBindings (namespace ).Create (t .Ctx (), roleBinding , metav1.CreateOptions {})
129
+ t .Expect (err ).NotTo (gomega .HaveOccurred ())
130
+ t .T ().Logf ("Created User RoleBinding %s/%s successfully" , role .Namespace , role .Name )
131
+
132
+ return rb
133
+ }
134
+
104
135
func CreateClusterRoleBinding (t Test , serviceAccount * corev1.ServiceAccount , role * rbacv1.ClusterRole ) * rbacv1.ClusterRoleBinding {
105
136
t .T ().Helper ()
106
137
@@ -136,3 +167,38 @@ func CreateClusterRoleBinding(t Test, serviceAccount *corev1.ServiceAccount, rol
136
167
137
168
return rb
138
169
}
170
+
171
+ func CreateUserClusterRoleBinding (t Test , userName string , role * rbacv1.ClusterRole ) * rbacv1.ClusterRoleBinding {
172
+ t .T ().Helper ()
173
+
174
+ roleBinding := & rbacv1.ClusterRoleBinding {
175
+ TypeMeta : metav1.TypeMeta {
176
+ APIVersion : rbacv1 .SchemeGroupVersion .String (),
177
+ Kind : "ClusterRoleBinding" ,
178
+ },
179
+ ObjectMeta : metav1.ObjectMeta {
180
+ GenerateName : "crb-" ,
181
+ },
182
+ RoleRef : rbacv1.RoleRef {
183
+ APIGroup : rbacv1 .SchemeGroupVersion .Group ,
184
+ Kind : "ClusterRole" ,
185
+ Name : role .Name ,
186
+ },
187
+ Subjects : []rbacv1.Subject {
188
+ {
189
+ Kind : "User" ,
190
+ APIGroup : rbacv1 .SchemeGroupVersion .Group ,
191
+ Name : userName ,
192
+ },
193
+ },
194
+ }
195
+ rb , err := t .Client ().Core ().RbacV1 ().ClusterRoleBindings ().Create (t .Ctx (), roleBinding , metav1.CreateOptions {})
196
+ t .Expect (err ).NotTo (gomega .HaveOccurred ())
197
+ t .T ().Logf ("Created User ClusterRoleBinding %s/%s successfully" , role .Namespace , role .Name )
198
+
199
+ t .T ().Cleanup (func () {
200
+ t .Client ().Core ().RbacV1 ().ClusterRoleBindings ().Delete (t .Ctx (), rb .Name , metav1.DeleteOptions {})
201
+ })
202
+
203
+ return rb
204
+ }
0 commit comments