@@ -21,7 +21,10 @@ import (
21
21
22
22
. "github.com/onsi/ginkgo"
23
23
. "github.com/onsi/gomega"
24
+ appsv1 "k8s.io/api/apps/v1"
25
+ extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
24
26
"k8s.io/apimachinery/pkg/api/meta"
27
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
25
28
"k8s.io/apimachinery/pkg/runtime"
26
29
"k8s.io/client-go/rest"
27
30
"sigs.k8s.io/controller-runtime/pkg/cache"
@@ -43,6 +46,45 @@ var _ = Describe("manger.Manager", func() {
43
46
close (stop )
44
47
})
45
48
49
+ Describe ("SetControllerReference" , func () {
50
+ It ("should set the OwnerReference if it can find the group version kind" , func () {
51
+ m , err := New (cfg , Options {})
52
+ Expect (err ).NotTo (HaveOccurred ())
53
+
54
+ rs := & appsv1.ReplicaSet {}
55
+ dep := & extensionsv1beta1.Deployment {
56
+ ObjectMeta : metav1.ObjectMeta {Name : "foo" , UID : "foo-uid" },
57
+ }
58
+ Expect (m .SetControllerReference (dep , rs )).NotTo (HaveOccurred ())
59
+ t := true
60
+ Expect (rs .OwnerReferences ).To (ConsistOf (metav1.OwnerReference {
61
+ Name : "foo" ,
62
+ Kind : "Deployment" ,
63
+ APIVersion : "extensions/v1beta1" ,
64
+ UID : "foo-uid" ,
65
+ Controller : & t ,
66
+ BlockOwnerDeletion : & t ,
67
+ }))
68
+ })
69
+
70
+ It ("should return an error if it can't find the group version kind of the owner" , func () {
71
+ m , err := New (cfg , Options {Scheme : runtime .NewScheme ()})
72
+ Expect (err ).NotTo (HaveOccurred ())
73
+ rs := & appsv1.ReplicaSet {}
74
+ dep := & extensionsv1beta1.Deployment {
75
+ ObjectMeta : metav1.ObjectMeta {Name : "foo" },
76
+ }
77
+ Expect (m .SetControllerReference (dep , rs )).To (HaveOccurred ())
78
+ })
79
+
80
+ It ("should return an error if the owner isn't a runtime.Object" , func () {
81
+ m , err := New (cfg , Options {Scheme : runtime .NewScheme ()})
82
+ Expect (err ).NotTo (HaveOccurred ())
83
+ rs := & appsv1.ReplicaSet {}
84
+ Expect (m .SetControllerReference (& errMetaObj {}, rs )).To (HaveOccurred ())
85
+ })
86
+ })
87
+
46
88
Describe ("New" , func () {
47
89
It ("should return an error if there is no Config" , func () {
48
90
m , err := New (nil , Options {})
@@ -382,6 +424,12 @@ var _ = Describe("manger.Manager", func() {
382
424
})
383
425
})
384
426
427
+ var _ metav1.Object = & errMetaObj {}
428
+
429
+ type errMetaObj struct {
430
+ metav1.ObjectMeta
431
+ }
432
+
385
433
var _ reconcile.Reconcile = & failRec {}
386
434
var _ inject.Client = & failRec {}
387
435
0 commit comments