Skip to content

Commit 5aa3f3e

Browse files
committed
add new suite test
Signed-off-by: sivchari <[email protected]>
1 parent 5b51210 commit 5aa3f3e

File tree

2 files changed

+39
-3
lines changed

2 files changed

+39
-3
lines changed

pkg/controller/controllerutil/controllerutil.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -183,17 +183,17 @@ func HasControllerReference(object metav1.Object) bool {
183183

184184
// HasOwnerReference returns true if the owners list contains an owner reference
185185
// that matches the object's group, kind, and name.
186-
func HasOwnerReference(ownerRefs []metav1.OwnerReference, obj client.Object, scheme *runtime.Scheme) bool {
186+
func HasOwnerReference(ownerRefs []metav1.OwnerReference, obj client.Object, scheme *runtime.Scheme) (bool, error) {
187187
gvk, err := apiutil.GVKForObject(obj, scheme)
188188
if err != nil {
189-
return false
189+
return false, err
190190
}
191191
idx := indexOwnerRef(ownerRefs, metav1.OwnerReference{
192192
APIVersion: gvk.GroupVersion().String(),
193193
Name: obj.GetName(),
194194
Kind: gvk.Kind,
195195
})
196-
return idx != -1
196+
return idx != -1, nil
197197
}
198198

199199
// RemoveControllerReference removes an owner reference where the controller

pkg/controller/controllerutil/controllerutil_test.go

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -957,6 +957,42 @@ var _ = Describe("Controllerutil", func() {
957957
Expect(controllerutil.ContainsFinalizer(deploy, testFinalizer)).To(BeFalse())
958958
})
959959
})
960+
961+
Describe("HasOwnerReference", func() {
962+
It("should return true if the object has the owner reference", func() {
963+
rs := &appsv1.ReplicaSet{
964+
ObjectMeta: metav1.ObjectMeta{Name: "foo", UID: "foo-uid"},
965+
}
966+
dep := &extensionsv1beta1.Deployment{
967+
ObjectMeta: metav1.ObjectMeta{Name: "foo", UID: "foo-uid"},
968+
}
969+
Expect(controllerutil.SetOwnerReference(dep, rs, scheme.Scheme)).ToNot(HaveOccurred())
970+
971+
b, err := controllerutil.HasOwnerReference(dep.GetOwnerReferences(), rs, scheme.Scheme)
972+
Expect(err).NotTo(HaveOccurred())
973+
Expect(b).To(BeTrue())
974+
})
975+
976+
It("should return false if the object does not have the owner reference", func() {
977+
rs := &appsv1.ReplicaSet{
978+
ObjectMeta: metav1.ObjectMeta{Name: "foo", UID: "foo-uid"},
979+
}
980+
dep := &extensionsv1beta1.Deployment{
981+
ObjectMeta: metav1.ObjectMeta{Name: "foo", UID: "foo-uid"},
982+
}
983+
b, err := controllerutil.HasOwnerReference(dep.GetOwnerReferences(), rs, scheme.Scheme)
984+
Expect(err).NotTo(HaveOccurred())
985+
Expect(b).To(BeFalse())
986+
})
987+
988+
It("should return error if the object can not create group-version-kind", func() {
989+
rs := &appsv1.ReplicaSet{}
990+
dep := &errMetaObj{}
991+
b, err := controllerutil.HasOwnerReference(dep.GetOwnerReferences(), rs, runtime.NewScheme())
992+
Expect(err).To(HaveOccurred())
993+
Expect(b).To(BeFalse())
994+
})
995+
})
960996
})
961997
})
962998

0 commit comments

Comments
 (0)