@@ -181,6 +181,7 @@ var _ = Describe("Controllerutil", func() {
181
181
Expect (controllerutil .RemoveOwnerReference (obj , rs , scheme .Scheme )).To (HaveOccurred ())
182
182
Expect (rs .GetOwnerReferences ()).To (HaveLen (1 ))
183
183
})
184
+
184
185
It ("should error when trying to remove an owner that doesn't exist" , func () {
185
186
rs := & appsv1.ReplicaSet {
186
187
ObjectMeta : metav1.ObjectMeta {},
@@ -229,6 +230,22 @@ var _ = Describe("Controllerutil", func() {
229
230
Expect (controllerutil .RemoveControllerReference (dep , rs , scheme .Scheme )).To (HaveOccurred ())
230
231
})
231
232
233
+ It ("should error when RemoveControllerReference passed in owner is not the owner" , func () {
234
+ rs := & appsv1.ReplicaSet {
235
+ ObjectMeta : metav1.ObjectMeta {},
236
+ }
237
+ dep := & extensionsv1beta1.Deployment {
238
+ ObjectMeta : metav1.ObjectMeta {Name : "foo" , UID : "foo-uid-2" },
239
+ }
240
+ dep2 := & extensionsv1beta1.Deployment {
241
+ ObjectMeta : metav1.ObjectMeta {Name : "foo-2" , UID : "foo-uid-42" },
242
+ }
243
+ Expect (controllerutil .SetControllerReference (dep , rs , scheme .Scheme )).ToNot (HaveOccurred ())
244
+ Expect (controllerutil .SetOwnerReference (dep2 , rs , scheme .Scheme )).ToNot (HaveOccurred ())
245
+ Expect (controllerutil .RemoveControllerReference (dep2 , rs , scheme .Scheme )).To (HaveOccurred ())
246
+ Expect (rs .GetOwnerReferences ()).To (HaveLen (2 ))
247
+ })
248
+
232
249
It ("should not error when RemoveControllerReference owner's controller is set to true" , func () {
233
250
rs := & appsv1.ReplicaSet {
234
251
ObjectMeta : metav1.ObjectMeta {},
0 commit comments