@@ -308,4 +308,134 @@ var _ = Describe("Predicate", func() {
308308		})
309309
310310	})
311+ 
312+ 	Describe ("When checking a GenerationChangedPredicate" , func () {
313+ 		instance  :=  predicate.GenerationChangedPredicate {}
314+ 		Context ("Where the old object doesn't have a Generation or metadata" , func () {
315+ 			It ("should return false" , func () {
316+ 				new  :=  & corev1.Pod {
317+ 					ObjectMeta : metav1.ObjectMeta {
318+ 						Name :       "baz" ,
319+ 						Namespace :  "biz" ,
320+ 						Generation : 1 ,
321+ 					}}
322+ 
323+ 				failEvnt  :=  event.UpdateEvent {
324+ 					MetaNew :   new .GetObjectMeta (),
325+ 					ObjectNew : new ,
326+ 				}
327+ 				Expect (instance .Create (event.CreateEvent {})).To (BeTrue ())
328+ 				Expect (instance .Delete (event.DeleteEvent {})).To (BeTrue ())
329+ 				Expect (instance .Generic (event.GenericEvent {})).To (BeTrue ())
330+ 				Expect (instance .Update (failEvnt )).To (BeFalse ())
331+ 			})
332+ 		})
333+ 
334+ 		Context ("Where the new object doesn't have a Generation or metadata" , func () {
335+ 			It ("should return false" , func () {
336+ 				old  :=  & corev1.Pod {
337+ 					ObjectMeta : metav1.ObjectMeta {
338+ 						Name :       "baz" ,
339+ 						Namespace :  "biz" ,
340+ 						Generation : 1 ,
341+ 					}}
342+ 
343+ 				failEvnt  :=  event.UpdateEvent {
344+ 					MetaOld :   old .GetObjectMeta (),
345+ 					ObjectOld : old ,
346+ 				}
347+ 				Expect (instance .Create (event.CreateEvent {})).To (BeTrue ())
348+ 				Expect (instance .Delete (event.DeleteEvent {})).To (BeTrue ())
349+ 				Expect (instance .Generic (event.GenericEvent {})).To (BeTrue ())
350+ 				Expect (instance .Update (failEvnt )).To (BeFalse ())
351+ 			})
352+ 		})
353+ 
354+ 		Context ("Where the Generation hasn't changed" , func () {
355+ 			It ("should return false" , func () {
356+ 				new  :=  & corev1.Pod {
357+ 					ObjectMeta : metav1.ObjectMeta {
358+ 						Name :       "baz" ,
359+ 						Namespace :  "biz" ,
360+ 						Generation : 1 ,
361+ 					}}
362+ 
363+ 				old  :=  & corev1.Pod {
364+ 					ObjectMeta : metav1.ObjectMeta {
365+ 						Name :       "baz" ,
366+ 						Namespace :  "biz" ,
367+ 						Generation : 1 ,
368+ 					}}
369+ 
370+ 				failEvnt  :=  event.UpdateEvent {
371+ 					MetaOld :   old .GetObjectMeta (),
372+ 					ObjectOld : old ,
373+ 					MetaNew :   new .GetObjectMeta (),
374+ 					ObjectNew : new ,
375+ 				}
376+ 				Expect (instance .Create (event.CreateEvent {})).To (BeTrue ())
377+ 				Expect (instance .Delete (event.DeleteEvent {})).To (BeTrue ())
378+ 				Expect (instance .Generic (event.GenericEvent {})).To (BeTrue ())
379+ 				Expect (instance .Update (failEvnt )).To (BeFalse ())
380+ 			})
381+ 		})
382+ 
383+ 		Context ("Where the Generation has changed" , func () {
384+ 			It ("should return true" , func () {
385+ 				new  :=  & corev1.Pod {
386+ 					ObjectMeta : metav1.ObjectMeta {
387+ 						Name :       "baz" ,
388+ 						Namespace :  "biz" ,
389+ 						Generation : 1 ,
390+ 					}}
391+ 
392+ 				old  :=  & corev1.Pod {
393+ 					ObjectMeta : metav1.ObjectMeta {
394+ 						Name :       "baz" ,
395+ 						Namespace :  "biz" ,
396+ 						Generation : 2 ,
397+ 					}}
398+ 				passEvt  :=  event.UpdateEvent {
399+ 					MetaOld :   old .GetObjectMeta (),
400+ 					ObjectOld : old ,
401+ 					MetaNew :   new .GetObjectMeta (),
402+ 					ObjectNew : new ,
403+ 				}
404+ 				Expect (instance .Create (event.CreateEvent {})).To (BeTrue ())
405+ 				Expect (instance .Delete (event.DeleteEvent {})).To (BeTrue ())
406+ 				Expect (instance .Generic (event.GenericEvent {})).To (BeTrue ())
407+ 				Expect (instance .Update (passEvt )).To (BeTrue ())
408+ 			})
409+ 		})
410+ 
411+ 		Context ("Where the objects or metadata are missing" , func () {
412+ 
413+ 			It ("should return false" , func () {
414+ 				new  :=  & corev1.Pod {
415+ 					ObjectMeta : metav1.ObjectMeta {
416+ 						Name :       "baz" ,
417+ 						Namespace :  "biz" ,
418+ 						Generation : 1 ,
419+ 					}}
420+ 
421+ 				old  :=  & corev1.Pod {
422+ 					ObjectMeta : metav1.ObjectMeta {
423+ 						Name :       "baz" ,
424+ 						Namespace :  "biz" ,
425+ 						Generation : 1 ,
426+ 					}}
427+ 
428+ 				failEvt1  :=  event.UpdateEvent {MetaOld : old .GetObjectMeta (), ObjectOld : old , MetaNew : new .GetObjectMeta ()}
429+ 				failEvt2  :=  event.UpdateEvent {MetaOld : old .GetObjectMeta (), MetaNew : new .GetObjectMeta (), ObjectNew : new }
430+ 				failEvt3  :=  event.UpdateEvent {MetaOld : old .GetObjectMeta (), ObjectOld : old , ObjectNew : new }
431+ 				Expect (instance .Create (event.CreateEvent {})).To (BeTrue ())
432+ 				Expect (instance .Delete (event.DeleteEvent {})).To (BeTrue ())
433+ 				Expect (instance .Generic (event.GenericEvent {})).To (BeTrue ())
434+ 				Expect (instance .Update (failEvt1 )).To (BeFalse ())
435+ 				Expect (instance .Update (failEvt2 )).To (BeFalse ())
436+ 				Expect (instance .Update (failEvt3 )).To (BeFalse ())
437+ 			})
438+ 		})
439+ 
440+ 	})
311441})
0 commit comments