@@ -37,6 +37,7 @@ import (
37
37
"github.com/kubernetes-sigs/kernel-module-management/internal/client"
38
38
"github.com/kubernetes-sigs/kernel-module-management/internal/cluster"
39
39
"github.com/kubernetes-sigs/kernel-module-management/internal/manifestwork"
40
+ "github.com/kubernetes-sigs/kernel-module-management/internal/statusupdater"
40
41
)
41
42
42
43
var _ = Describe ("ManagedClusterModuleReconciler_Reconcile" , func () {
@@ -45,13 +46,15 @@ var _ = Describe("ManagedClusterModuleReconciler_Reconcile", func() {
45
46
clnt * client.MockClient
46
47
mockMW * manifestwork.MockManifestWorkCreator
47
48
mockClusterAPI * cluster.MockClusterAPI
49
+ mockSU * statusupdater.MockManagedClusterModuleStatusUpdater
48
50
)
49
51
50
52
BeforeEach (func () {
51
53
ctrl = gomock .NewController (GinkgoT ())
52
54
clnt = client .NewMockClient (ctrl )
53
55
mockMW = manifestwork .NewMockManifestWorkCreator (ctrl )
54
56
mockClusterAPI = cluster .NewMockClusterAPI (ctrl )
57
+ mockSU = statusupdater .NewMockManagedClusterModuleStatusUpdater (ctrl )
55
58
})
56
59
57
60
const (
@@ -73,7 +76,7 @@ var _ = Describe("ManagedClusterModuleReconciler_Reconcile", func() {
73
76
apierrors .NewNotFound (schema.GroupResource {}, mcmName ),
74
77
)
75
78
76
- mcmr := NewManagedClusterModuleReconciler (clnt , nil , mockClusterAPI , nil )
79
+ mcmr := NewManagedClusterModuleReconciler (clnt , nil , mockClusterAPI , nil , nil )
77
80
Expect (
78
81
mcmr .Reconcile (ctx , req ),
79
82
).To (
@@ -85,7 +88,7 @@ var _ = Describe("ManagedClusterModuleReconciler_Reconcile", func() {
85
88
mockClusterAPI .EXPECT ().RequestedManagedClusterModule (ctx , req .NamespacedName ).
86
89
Return (nil , errors .New ("test" ))
87
90
88
- mr := NewManagedClusterModuleReconciler (clnt , nil , mockClusterAPI , nil )
91
+ mr := NewManagedClusterModuleReconciler (clnt , nil , mockClusterAPI , nil , nil )
89
92
90
93
res , err := mr .Reconcile (ctx , req )
91
94
Expect (err ).To (HaveOccurred ())
@@ -112,7 +115,7 @@ var _ = Describe("ManagedClusterModuleReconciler_Reconcile", func() {
112
115
),
113
116
)
114
117
115
- mr := NewManagedClusterModuleReconciler (clnt , nil , mockClusterAPI , nil )
118
+ mr := NewManagedClusterModuleReconciler (clnt , nil , mockClusterAPI , nil , nil )
116
119
117
120
res , err := mr .Reconcile (context .Background (), req )
118
121
Expect (err ).To (HaveOccurred ())
@@ -131,15 +134,18 @@ var _ = Describe("ManagedClusterModuleReconciler_Reconcile", func() {
131
134
}
132
135
133
136
clusterList := clusterv1.ManagedClusterList {}
137
+ manifestWorkList := workv1.ManifestWorkList {}
134
138
135
139
gomock .InOrder (
136
140
mockClusterAPI .EXPECT ().RequestedManagedClusterModule (ctx , req .NamespacedName ).Return (mcm , nil ),
137
141
mockClusterAPI .EXPECT ().SelectedManagedClusters (ctx , gomock .Any ()).Return (& clusterList , nil ),
138
142
mockMW .EXPECT ().GarbageCollect (ctx , clusterList , * mcm ),
139
143
mockClusterAPI .EXPECT ().GarbageCollectBuilds (ctx , * mcm ),
144
+ mockMW .EXPECT ().GetOwnedManifestWorks (ctx , * mcm ).Return (& manifestWorkList , nil ),
145
+ mockSU .EXPECT ().ManagedClusterModuleUpdateStatus (ctx , mcm , manifestWorkList .Items ).Return (nil ),
140
146
)
141
147
142
- mr := NewManagedClusterModuleReconciler (clnt , mockMW , mockClusterAPI , nil )
148
+ mr := NewManagedClusterModuleReconciler (clnt , mockMW , mockClusterAPI , mockSU , nil )
143
149
144
150
res , err := mr .Reconcile (context .Background (), req )
145
151
Expect (err ).NotTo (HaveOccurred ())
@@ -165,7 +171,7 @@ var _ = Describe("ManagedClusterModuleReconciler_Reconcile", func() {
165
171
mockMW .EXPECT ().GarbageCollect (ctx , clusterList , * mcm ).Return (errors .New ("test" )),
166
172
)
167
173
168
- mr := NewManagedClusterModuleReconciler (clnt , mockMW , mockClusterAPI , nil )
174
+ mr := NewManagedClusterModuleReconciler (clnt , mockMW , mockClusterAPI , nil , nil )
169
175
170
176
res , err := mr .Reconcile (context .Background (), req )
171
177
Expect (err ).To (HaveOccurred ())
@@ -192,7 +198,65 @@ var _ = Describe("ManagedClusterModuleReconciler_Reconcile", func() {
192
198
mockClusterAPI .EXPECT ().GarbageCollectBuilds (ctx , * mcm ).Return (nil , errors .New ("test" )),
193
199
)
194
200
195
- mr := NewManagedClusterModuleReconciler (clnt , mockMW , mockClusterAPI , nil )
201
+ mr := NewManagedClusterModuleReconciler (clnt , mockMW , mockClusterAPI , nil , nil )
202
+
203
+ res , err := mr .Reconcile (context .Background (), req )
204
+ Expect (err ).To (HaveOccurred ())
205
+ Expect (res ).To (Equal (reconcile.Result {}))
206
+ })
207
+
208
+ It ("should return an error when fetching the owned ManifestWorks fails" , func () {
209
+ mcm := & v1beta1.ManagedClusterModule {
210
+ ObjectMeta : metav1.ObjectMeta {
211
+ Name : mcmName ,
212
+ },
213
+ Spec : v1beta1.ManagedClusterModuleSpec {
214
+ ModuleSpec : kmmv1beta1.ModuleSpec {},
215
+ Selector : map [string ]string {"key" : "value" },
216
+ },
217
+ }
218
+
219
+ clusterList := clusterv1.ManagedClusterList {}
220
+
221
+ gomock .InOrder (
222
+ mockClusterAPI .EXPECT ().RequestedManagedClusterModule (ctx , req .NamespacedName ).Return (mcm , nil ),
223
+ mockClusterAPI .EXPECT ().SelectedManagedClusters (ctx , gomock .Any ()).Return (& clusterList , nil ),
224
+ mockMW .EXPECT ().GarbageCollect (ctx , clusterList , * mcm ),
225
+ mockClusterAPI .EXPECT ().GarbageCollectBuilds (ctx , * mcm ),
226
+ mockMW .EXPECT ().GetOwnedManifestWorks (ctx , * mcm ).Return (nil , errors .New ("generic-error" )),
227
+ )
228
+
229
+ mr := NewManagedClusterModuleReconciler (clnt , mockMW , mockClusterAPI , nil , nil )
230
+
231
+ res , err := mr .Reconcile (context .Background (), req )
232
+ Expect (err ).To (HaveOccurred ())
233
+ Expect (res ).To (Equal (reconcile.Result {}))
234
+ })
235
+
236
+ It ("should return an error when status update fails" , func () {
237
+ mcm := & v1beta1.ManagedClusterModule {
238
+ ObjectMeta : metav1.ObjectMeta {
239
+ Name : mcmName ,
240
+ },
241
+ Spec : v1beta1.ManagedClusterModuleSpec {
242
+ ModuleSpec : kmmv1beta1.ModuleSpec {},
243
+ Selector : map [string ]string {"key" : "value" },
244
+ },
245
+ }
246
+
247
+ clusterList := clusterv1.ManagedClusterList {}
248
+ manifestWorkList := workv1.ManifestWorkList {}
249
+
250
+ gomock .InOrder (
251
+ mockClusterAPI .EXPECT ().RequestedManagedClusterModule (ctx , req .NamespacedName ).Return (mcm , nil ),
252
+ mockClusterAPI .EXPECT ().SelectedManagedClusters (ctx , gomock .Any ()).Return (& clusterList , nil ),
253
+ mockMW .EXPECT ().GarbageCollect (ctx , clusterList , * mcm ),
254
+ mockClusterAPI .EXPECT ().GarbageCollectBuilds (ctx , * mcm ),
255
+ mockMW .EXPECT ().GetOwnedManifestWorks (ctx , * mcm ).Return (& manifestWorkList , nil ),
256
+ mockSU .EXPECT ().ManagedClusterModuleUpdateStatus (ctx , mcm , manifestWorkList .Items ).Return (errors .New ("generic-error" )),
257
+ )
258
+
259
+ mr := NewManagedClusterModuleReconciler (clnt , mockMW , mockClusterAPI , mockSU , nil )
196
260
197
261
res , err := mr .Reconcile (context .Background (), req )
198
262
Expect (err ).To (HaveOccurred ())
@@ -227,15 +291,19 @@ var _ = Describe("ManagedClusterModuleReconciler_Reconcile", func() {
227
291
},
228
292
}
229
293
294
+ manifestWorkList := workv1.ManifestWorkList {}
295
+
230
296
gomock .InOrder (
231
297
mockClusterAPI .EXPECT ().RequestedManagedClusterModule (ctx , req .NamespacedName ).Return (& mcm , nil ),
232
298
mockClusterAPI .EXPECT ().SelectedManagedClusters (ctx , gomock .Any ()).Return (& clusterList , nil ),
233
299
mockClusterAPI .EXPECT ().BuildAndSign (gomock .Any (), mcm , clusterList .Items [0 ]).Return (true , nil ),
234
300
mockMW .EXPECT ().GarbageCollect (ctx , clusterList , mcm ),
235
301
mockClusterAPI .EXPECT ().GarbageCollectBuilds (ctx , mcm ),
302
+ mockMW .EXPECT ().GetOwnedManifestWorks (ctx , mcm ).Return (& manifestWorkList , nil ),
303
+ mockSU .EXPECT ().ManagedClusterModuleUpdateStatus (ctx , & mcm , manifestWorkList .Items ).Return (nil ),
236
304
)
237
305
238
- mr := NewManagedClusterModuleReconciler (clnt , mockMW , mockClusterAPI , nil )
306
+ mr := NewManagedClusterModuleReconciler (clnt , mockMW , mockClusterAPI , mockSU , nil )
239
307
240
308
res , err := mr .Reconcile (context .Background (), req )
241
309
Expect (err ).ToNot (HaveOccurred ())
@@ -263,6 +331,7 @@ var _ = Describe("ManagedClusterModuleReconciler_Reconcile", func() {
263
331
},
264
332
},
265
333
}
334
+ manifestWorkList := workv1.ManifestWorkList {}
266
335
267
336
mw := workv1.ManifestWork {
268
337
ObjectMeta : metav1.ObjectMeta {
@@ -280,9 +349,11 @@ var _ = Describe("ManagedClusterModuleReconciler_Reconcile", func() {
280
349
clnt .EXPECT ().Create (gomock .Any (), gomock .Any ()).Return (nil ),
281
350
mockMW .EXPECT ().GarbageCollect (ctx , clusterList , mcm ),
282
351
mockClusterAPI .EXPECT ().GarbageCollectBuilds (ctx , mcm ),
352
+ mockMW .EXPECT ().GetOwnedManifestWorks (ctx , mcm ).Return (& manifestWorkList , nil ),
353
+ mockSU .EXPECT ().ManagedClusterModuleUpdateStatus (ctx , & mcm , manifestWorkList .Items ).Return (nil ),
283
354
)
284
355
285
- mr := NewManagedClusterModuleReconciler (clnt , mockMW , mockClusterAPI , nil )
356
+ mr := NewManagedClusterModuleReconciler (clnt , mockMW , mockClusterAPI , mockSU , nil )
286
357
287
358
res , err := mr .Reconcile (context .Background (), req )
288
359
Expect (err ).NotTo (HaveOccurred ())
@@ -311,6 +382,8 @@ var _ = Describe("ManagedClusterModuleReconciler_Reconcile", func() {
311
382
},
312
383
}
313
384
385
+ manifestWorkList := workv1.ManifestWorkList {}
386
+
314
387
mw := workv1.ManifestWork {
315
388
ObjectMeta : metav1.ObjectMeta {
316
389
Name : mcm .Name ,
@@ -330,9 +403,11 @@ var _ = Describe("ManagedClusterModuleReconciler_Reconcile", func() {
330
403
clnt .EXPECT ().Patch (gomock .Any (), gomock .Any (), gomock .Any ()),
331
404
mockMW .EXPECT ().GarbageCollect (ctx , clusterList , mcm ),
332
405
mockClusterAPI .EXPECT ().GarbageCollectBuilds (ctx , mcm ),
406
+ mockMW .EXPECT ().GetOwnedManifestWorks (ctx , mcm ).Return (& manifestWorkList , nil ),
407
+ mockSU .EXPECT ().ManagedClusterModuleUpdateStatus (ctx , & mcm , manifestWorkList .Items ).Return (nil ),
333
408
)
334
409
335
- mr := NewManagedClusterModuleReconciler (clnt , mockMW , mockClusterAPI , nil )
410
+ mr := NewManagedClusterModuleReconciler (clnt , mockMW , mockClusterAPI , mockSU , nil )
336
411
337
412
res , err := mr .Reconcile (context .Background (), req )
338
413
Expect (err ).NotTo (HaveOccurred ())
0 commit comments