@@ -175,4 +175,137 @@ var _ = Describe("Predicate", func() {
175
175
close (done )
176
176
})
177
177
})
178
+
179
+ Describe ("When checking a ResourceVersionChangedPredicate" , func () {
180
+ instance := predicate.ResourceVersionChangedPredicate {}
181
+
182
+ Context ("Where the old object doesn't have a ResourceVersion or metadata" , func () {
183
+ It ("should return false" , func () {
184
+ new := & corev1.Pod {
185
+ ObjectMeta : metav1.ObjectMeta {
186
+ Name : "baz" ,
187
+ Namespace : "biz" ,
188
+ ResourceVersion : "1" ,
189
+ }}
190
+
191
+ failEvnt := event.UpdateEvent {
192
+ MetaNew : new .GetObjectMeta (),
193
+ ObjectNew : new ,
194
+ }
195
+ Expect (instance .Create (event.CreateEvent {})).Should (BeTrue ())
196
+ Expect (instance .Delete (event.DeleteEvent {})).Should (BeTrue ())
197
+ Expect (instance .Generic (event.GenericEvent {})).Should (BeTrue ())
198
+ Expect (instance .Update (failEvnt )).Should (BeFalse ())
199
+ })
200
+ })
201
+
202
+ Context ("Where the new object doesn't have a ResourceVersion or metadata" , func () {
203
+ It ("should return false" , func () {
204
+ old := & corev1.Pod {
205
+ ObjectMeta : metav1.ObjectMeta {
206
+ Name : "baz" ,
207
+ Namespace : "biz" ,
208
+ ResourceVersion : "1" ,
209
+ }}
210
+
211
+ failEvnt := event.UpdateEvent {
212
+ MetaOld : old .GetObjectMeta (),
213
+ ObjectOld : old ,
214
+ }
215
+ Expect (instance .Create (event.CreateEvent {})).Should (BeTrue ())
216
+ Expect (instance .Delete (event.DeleteEvent {})).Should (BeTrue ())
217
+ Expect (instance .Generic (event.GenericEvent {})).Should (BeTrue ())
218
+ Expect (instance .Update (failEvnt )).Should (BeFalse ())
219
+ Expect (instance .Update (failEvnt )).Should (BeFalse ())
220
+ })
221
+ })
222
+
223
+ Context ("Where the ResourceVersion hasn't changed" , func () {
224
+ It ("should return false" , func () {
225
+ new := & corev1.Pod {
226
+ ObjectMeta : metav1.ObjectMeta {
227
+ Name : "baz" ,
228
+ Namespace : "biz" ,
229
+ ResourceVersion : "v1" ,
230
+ }}
231
+
232
+ old := & corev1.Pod {
233
+ ObjectMeta : metav1.ObjectMeta {
234
+ Name : "baz" ,
235
+ Namespace : "biz" ,
236
+ ResourceVersion : "v1" ,
237
+ }}
238
+
239
+ failEvnt := event.UpdateEvent {
240
+ MetaOld : old .GetObjectMeta (),
241
+ ObjectOld : old ,
242
+ MetaNew : new .GetObjectMeta (),
243
+ ObjectNew : new ,
244
+ }
245
+ Expect (instance .Create (event.CreateEvent {})).Should (BeTrue ())
246
+ Expect (instance .Delete (event.DeleteEvent {})).Should (BeTrue ())
247
+ Expect (instance .Generic (event.GenericEvent {})).Should (BeTrue ())
248
+ Expect (instance .Update (failEvnt )).Should (BeFalse ())
249
+ Expect (instance .Update (failEvnt )).Should (BeFalse ())
250
+ })
251
+ })
252
+
253
+ Context ("Where the ResourceVersion has changed" , func () {
254
+ It ("should return true" , func () {
255
+ new := & corev1.Pod {
256
+ ObjectMeta : metav1.ObjectMeta {
257
+ Name : "baz" ,
258
+ Namespace : "biz" ,
259
+ ResourceVersion : "v1" ,
260
+ }}
261
+
262
+ old := & corev1.Pod {
263
+ ObjectMeta : metav1.ObjectMeta {
264
+ Name : "baz" ,
265
+ Namespace : "biz" ,
266
+ ResourceVersion : "v2" ,
267
+ }}
268
+ passEvt := event.UpdateEvent {
269
+ MetaOld : old .GetObjectMeta (),
270
+ ObjectOld : old ,
271
+ MetaNew : new .GetObjectMeta (),
272
+ ObjectNew : new ,
273
+ }
274
+ Expect (instance .Create (event.CreateEvent {})).Should (BeTrue ())
275
+ Expect (instance .Delete (event.DeleteEvent {})).Should (BeTrue ())
276
+ Expect (instance .Generic (event.GenericEvent {})).Should (BeTrue ())
277
+ Expect (instance .Update (passEvt )).Should (BeTrue ())
278
+ })
279
+ })
280
+
281
+ Context ("Where the objects or metadata are missing" , func () {
282
+
283
+ It ("should return false" , func () {
284
+ new := & corev1.Pod {
285
+ ObjectMeta : metav1.ObjectMeta {
286
+ Name : "baz" ,
287
+ Namespace : "biz" ,
288
+ ResourceVersion : "v1" ,
289
+ }}
290
+
291
+ old := & corev1.Pod {
292
+ ObjectMeta : metav1.ObjectMeta {
293
+ Name : "baz" ,
294
+ Namespace : "biz" ,
295
+ ResourceVersion : "v1" ,
296
+ }}
297
+
298
+ failEvt1 := event.UpdateEvent {MetaOld : old .GetObjectMeta (), ObjectOld : old , MetaNew : new .GetObjectMeta ()}
299
+ failEvt2 := event.UpdateEvent {MetaOld : old .GetObjectMeta (), MetaNew : new .GetObjectMeta (), ObjectNew : new }
300
+ failEvt3 := event.UpdateEvent {MetaOld : old .GetObjectMeta (), ObjectOld : old , ObjectNew : new }
301
+ Expect (instance .Create (event.CreateEvent {})).Should (BeTrue ())
302
+ Expect (instance .Delete (event.DeleteEvent {})).Should (BeTrue ())
303
+ Expect (instance .Generic (event.GenericEvent {})).Should (BeTrue ())
304
+ Expect (instance .Update (failEvt1 )).Should (BeFalse ())
305
+ Expect (instance .Update (failEvt2 )).Should (BeFalse ())
306
+ Expect (instance .Update (failEvt3 )).Should (BeFalse ())
307
+ })
308
+ })
309
+
310
+ })
178
311
})
0 commit comments