@@ -30,7 +30,6 @@ import (
30
30
"k8s.io/apimachinery/pkg/runtime"
31
31
"k8s.io/apimachinery/pkg/runtime/schema"
32
32
"k8s.io/apimachinery/pkg/types"
33
- "k8s.io/client-go/rest"
34
33
"sigs.k8s.io/controller-runtime/pkg/controller"
35
34
"sigs.k8s.io/controller-runtime/pkg/handler"
36
35
"sigs.k8s.io/controller-runtime/pkg/manager"
@@ -44,9 +43,7 @@ var _ = Describe("application", func() {
44
43
45
44
BeforeEach (func () {
46
45
stop = make (chan struct {})
47
- getConfig = func () (* rest.Config , error ) { return cfg , nil }
48
46
newController = controller .New
49
- newManager = manager .New
50
47
})
51
48
52
49
AfterEach (func () {
@@ -57,35 +54,32 @@ var _ = Describe("application", func() {
57
54
58
55
Describe ("New" , func () {
59
56
It ("should return success if given valid objects" , func () {
60
- instance , err := SimpleController ().
61
- For (& appsv1.ReplicaSet {}).
62
- Owns (& appsv1.ReplicaSet {}).
63
- Build (noop )
57
+ By ("creating a controller manager" )
58
+ m , err := manager .New (cfg , manager.Options {})
64
59
Expect (err ).NotTo (HaveOccurred ())
65
- Expect (instance ).NotTo (BeNil ())
66
- })
67
60
68
- It ("should return an error if the Config is invalid" , func () {
69
- getConfig = func () (* rest.Config , error ) { return cfg , fmt .Errorf ("expected error" ) }
70
- instance , err := SimpleController ().
61
+ instance , err := ControllerManagedBy (m ).
71
62
For (& appsv1.ReplicaSet {}).
72
63
Owns (& appsv1.ReplicaSet {}).
73
64
Build (noop )
74
- Expect (err ).To (HaveOccurred ())
75
- Expect (err .Error ()).To (ContainSubstring ("expected error" ))
76
- Expect (instance ).To (BeNil ())
65
+ Expect (err ).NotTo (HaveOccurred ())
66
+ Expect (instance ).NotTo (BeNil ())
77
67
})
78
68
79
69
It ("should return an error if there is no GVK for an object" , func () {
80
- instance , err := SimpleController ().
70
+ By ("creating a controller manager" )
71
+ m , err := manager .New (cfg , manager.Options {})
72
+ Expect (err ).NotTo (HaveOccurred ())
73
+
74
+ instance , err := ControllerManagedBy (m ).
81
75
For (& fakeType {}).
82
76
Owns (& appsv1.ReplicaSet {}).
83
77
Build (noop )
84
78
Expect (err ).To (HaveOccurred ())
85
79
Expect (err .Error ()).To (ContainSubstring ("no kind is registered for the type builder.fakeType" ))
86
80
Expect (instance ).To (BeNil ())
87
81
88
- instance , err = SimpleController ( ).
82
+ instance , err = ControllerManagedBy ( m ).
89
83
For (& appsv1.ReplicaSet {}).
90
84
Owns (& fakeType {}).
91
85
Build (noop )
@@ -94,25 +88,17 @@ var _ = Describe("application", func() {
94
88
Expect (instance ).To (BeNil ())
95
89
})
96
90
97
- It ("should return an error if it cannot create the manager" , func () {
98
- newManager = func (config * rest.Config , options manager.Options ) (manager.Manager , error ) {
99
- return nil , fmt .Errorf ("expected error" )
100
- }
101
- instance , err := SimpleController ().
102
- For (& appsv1.ReplicaSet {}).
103
- Owns (& appsv1.ReplicaSet {}).
104
- Build (noop )
105
- Expect (err ).To (HaveOccurred ())
106
- Expect (err .Error ()).To (ContainSubstring ("expected error" ))
107
- Expect (instance ).To (BeNil ())
108
- })
109
-
110
91
It ("should return an error if it cannot create the controller" , func () {
111
92
newController = func (name string , mgr manager.Manager , options controller.Options ) (
112
93
controller.Controller , error ) {
113
94
return nil , fmt .Errorf ("expected error" )
114
95
}
115
- instance , err := SimpleController ().
96
+
97
+ By ("creating a controller manager" )
98
+ m , err := manager .New (cfg , manager.Options {})
99
+ Expect (err ).NotTo (HaveOccurred ())
100
+
101
+ instance , err := ControllerManagedBy (m ).
116
102
For (& appsv1.ReplicaSet {}).
117
103
Owns (& appsv1.ReplicaSet {}).
118
104
Build (noop )
@@ -150,30 +136,6 @@ var _ = Describe("application", func() {
150
136
})
151
137
})
152
138
153
- Describe ("Start with SimpleController" , func () {
154
- It ("should Reconcile Owns objects" , func (done Done ) {
155
- bldr := SimpleController ().
156
- ForType (& appsv1.Deployment {}).
157
- WithConfig (cfg ).
158
- Owns (& appsv1.ReplicaSet {})
159
- doReconcileTest ("1" , stop , bldr , nil , false )
160
-
161
- close (done )
162
- }, 10 )
163
-
164
- It ("should Reconcile Owns objects with a Manager" , func (done Done ) {
165
- m , err := manager .New (cfg , manager.Options {})
166
- Expect (err ).NotTo (HaveOccurred ())
167
-
168
- bldr := SimpleController ().
169
- WithManager (m ).
170
- For (& appsv1.Deployment {}).
171
- Owns (& appsv1.ReplicaSet {})
172
- doReconcileTest ("2" , stop , bldr , m , false )
173
- close (done )
174
- }, 10 )
175
- })
176
-
177
139
Describe ("Start with ControllerManagedBy" , func () {
178
140
It ("should Reconcile Owns objects" , func (done Done ) {
179
141
m , err := manager .New (cfg , manager.Options {})
@@ -217,25 +179,21 @@ func doReconcileTest(nameSuffix string, stop chan struct{}, blder *Builder, mgr
217
179
return reconcile.Result {}, nil
218
180
})
219
181
220
- instance := mgr
221
182
if complete {
222
183
err := blder .Complete (fn )
223
184
Expect (err ).NotTo (HaveOccurred ())
224
185
} else {
225
186
var err error
226
- instance , err = blder .Build (fn )
187
+ var c controller.Controller
188
+ c , err = blder .Build (fn )
227
189
Expect (err ).NotTo (HaveOccurred ())
228
- }
229
-
230
- // Manager should match
231
- if mgr != nil {
232
- Expect (instance ).To (Equal (mgr ))
190
+ Expect (c ).NotTo (BeNil ())
233
191
}
234
192
235
193
By ("Starting the application" )
236
194
go func () {
237
195
defer GinkgoRecover ()
238
- Expect (instance .Start (stop )).NotTo (HaveOccurred ())
196
+ Expect (mgr .Start (stop )).NotTo (HaveOccurred ())
239
197
By ("Stopping the application" )
240
198
}()
241
199
@@ -263,7 +221,7 @@ func doReconcileTest(nameSuffix string, stop chan struct{}, blder *Builder, mgr
263
221
},
264
222
},
265
223
}
266
- err := instance .GetClient ().Create (context .TODO (), dep )
224
+ err := mgr .GetClient ().Create (context .TODO (), dep )
267
225
Expect (err ).NotTo (HaveOccurred ())
268
226
269
227
By ("Waiting for the Deployment Reconcile" )
@@ -293,7 +251,7 @@ func doReconcileTest(nameSuffix string, stop chan struct{}, blder *Builder, mgr
293
251
Template : dep .Spec .Template ,
294
252
},
295
253
}
296
- err = instance .GetClient ().Create (context .TODO (), rs )
254
+ err = mgr .GetClient ().Create (context .TODO (), rs )
297
255
Expect (err ).NotTo (HaveOccurred ())
298
256
299
257
By ("Waiting for the ReplicaSet Reconcile" )
0 commit comments