@@ -195,6 +195,51 @@ var _ = Describe("Controllerutil", func() {
195
195
Expect (controllerutil .RemoveOwnerReference (dep2 , rs , scheme .Scheme )).To (HaveOccurred ())
196
196
Expect (rs .GetOwnerReferences ()).To (HaveLen (1 ))
197
197
})
198
+
199
+ It ("should return true when HasControllerReference evaluates owner reference set by SetControllerReference" , func () {
200
+ rs := & appsv1.ReplicaSet {
201
+ ObjectMeta : metav1.ObjectMeta {},
202
+ }
203
+ dep := & extensionsv1beta1.Deployment {
204
+ ObjectMeta : metav1.ObjectMeta {Name : "foo" , UID : "foo-uid-2" },
205
+ }
206
+ Expect (controllerutil .SetControllerReference (dep , rs , scheme .Scheme )).ToNot (HaveOccurred ())
207
+ Expect (controllerutil .HasControllerReference (rs )).To (BeTrue ())
208
+ })
209
+
210
+ It ("should return false when HasControllerReference evaluates owner reference set by SetOwnerReference" , func () {
211
+ rs := & appsv1.ReplicaSet {
212
+ ObjectMeta : metav1.ObjectMeta {},
213
+ }
214
+ dep := & extensionsv1beta1.Deployment {
215
+ ObjectMeta : metav1.ObjectMeta {Name : "foo" , UID : "foo-uid-2" },
216
+ }
217
+ Expect (controllerutil .SetOwnerReference (dep , rs , scheme .Scheme )).ToNot (HaveOccurred ())
218
+ Expect (controllerutil .HasControllerReference (rs )).To (BeFalse ())
219
+ })
220
+
221
+ It ("should error when RemoveControllerReference owner's controller is set to false" , func () {
222
+ rs := & appsv1.ReplicaSet {
223
+ ObjectMeta : metav1.ObjectMeta {},
224
+ }
225
+ dep := & extensionsv1beta1.Deployment {
226
+ ObjectMeta : metav1.ObjectMeta {Name : "foo" , UID : "foo-uid-2" },
227
+ }
228
+ Expect (controllerutil .SetOwnerReference (dep , rs , scheme .Scheme )).ToNot (HaveOccurred ())
229
+ Expect (controllerutil .RemoveControllerReference (dep , rs , scheme .Scheme )).To (HaveOccurred ())
230
+ })
231
+
232
+ It ("should not error when RemoveControllerReference owner's controller is set to true" , func () {
233
+ rs := & appsv1.ReplicaSet {
234
+ ObjectMeta : metav1.ObjectMeta {},
235
+ }
236
+ dep := & extensionsv1beta1.Deployment {
237
+ ObjectMeta : metav1.ObjectMeta {Name : "foo" , UID : "foo-uid-2" },
238
+ }
239
+ Expect (controllerutil .SetControllerReference (dep , rs , scheme .Scheme )).ToNot (HaveOccurred ())
240
+ Expect (controllerutil .RemoveControllerReference (dep , rs , scheme .Scheme )).ToNot (HaveOccurred ())
241
+ Expect (rs .GetOwnerReferences ()).To (BeEmpty ())
242
+ })
198
243
})
199
244
200
245
Describe ("SetControllerReference" , func () {
0 commit comments