@@ -414,6 +414,9 @@ var _ = Describe("Predicate", func() {
414
414
415
415
})
416
416
417
+ // AnnotationChangedPredicate has almost identical test cases as LabelChangedPredicates,
418
+ // so the duplication linter should be muted on both two test suites.
419
+ // nolint:dupl
417
420
Describe ("When checking an AnnotationChangedPredicate" , func () {
418
421
instance := predicate.AnnotationChangedPredicate {}
419
422
Context ("Where the old object is missing" , func () {
@@ -610,6 +613,205 @@ var _ = Describe("Predicate", func() {
610
613
})
611
614
})
612
615
616
+ // LabelChangedPredicates has almost identical test cases as AnnotationChangedPredicates,
617
+ // so the duplication linter should be muted on both two test suites.
618
+ // nolint:dupl
619
+ Describe ("When checking a LabelChangedPredicate" , func () {
620
+ instance := predicate.LabelChangedPredicate {}
621
+ Context ("Where the old object is missing" , func () {
622
+ It ("should return false" , func () {
623
+ new := & corev1.Pod {
624
+ ObjectMeta : metav1.ObjectMeta {
625
+ Name : "baz" ,
626
+ Namespace : "biz" ,
627
+ Labels : map [string ]string {
628
+ "foo" : "bar" ,
629
+ },
630
+ }}
631
+
632
+ evt := event.UpdateEvent {
633
+ ObjectNew : new ,
634
+ }
635
+ Expect (instance .Create (event.CreateEvent {})).To (BeTrue ())
636
+ Expect (instance .Delete (event.DeleteEvent {})).To (BeTrue ())
637
+ Expect (instance .Generic (event.GenericEvent {})).To (BeTrue ())
638
+ Expect (instance .Update (evt )).To (BeFalse ())
639
+ })
640
+ })
641
+
642
+ Context ("Where the new object is missing" , func () {
643
+ It ("should return false" , func () {
644
+ old := & corev1.Pod {
645
+ ObjectMeta : metav1.ObjectMeta {
646
+ Name : "baz" ,
647
+ Namespace : "biz" ,
648
+ Labels : map [string ]string {
649
+ "foo" : "bar" ,
650
+ },
651
+ }}
652
+
653
+ evt := event.UpdateEvent {
654
+ ObjectOld : old ,
655
+ }
656
+ Expect (instance .Create (event.CreateEvent {})).To (BeTrue ())
657
+ Expect (instance .Delete (event.DeleteEvent {})).To (BeTrue ())
658
+ Expect (instance .Generic (event.GenericEvent {})).To (BeTrue ())
659
+ Expect (instance .Update (evt )).To (BeFalse ())
660
+ })
661
+ })
662
+
663
+ Context ("Where the labels are empty" , func () {
664
+ It ("should return false" , func () {
665
+ new := & corev1.Pod {
666
+ ObjectMeta : metav1.ObjectMeta {
667
+ Name : "baz" ,
668
+ Namespace : "biz" ,
669
+ }}
670
+
671
+ old := & corev1.Pod {
672
+ ObjectMeta : metav1.ObjectMeta {
673
+ Name : "baz" ,
674
+ Namespace : "biz" ,
675
+ }}
676
+
677
+ evt := event.UpdateEvent {
678
+ ObjectOld : old ,
679
+ ObjectNew : new ,
680
+ }
681
+ Expect (instance .Create (event.CreateEvent {})).To (BeTrue ())
682
+ Expect (instance .Delete (event.DeleteEvent {})).To (BeTrue ())
683
+ Expect (instance .Generic (event.GenericEvent {})).To (BeTrue ())
684
+ Expect (instance .Update (evt )).To (BeFalse ())
685
+ })
686
+ })
687
+
688
+ Context ("Where the labels haven't changed" , func () {
689
+ It ("should return false" , func () {
690
+ new := & corev1.Pod {
691
+ ObjectMeta : metav1.ObjectMeta {
692
+ Name : "baz" ,
693
+ Namespace : "biz" ,
694
+ Labels : map [string ]string {
695
+ "foo" : "bar" ,
696
+ },
697
+ }}
698
+
699
+ old := & corev1.Pod {
700
+ ObjectMeta : metav1.ObjectMeta {
701
+ Name : "baz" ,
702
+ Namespace : "biz" ,
703
+ Labels : map [string ]string {
704
+ "foo" : "bar" ,
705
+ },
706
+ }}
707
+
708
+ evt := event.UpdateEvent {
709
+ ObjectOld : old ,
710
+ ObjectNew : new ,
711
+ }
712
+ Expect (instance .Create (event.CreateEvent {})).To (BeTrue ())
713
+ Expect (instance .Delete (event.DeleteEvent {})).To (BeTrue ())
714
+ Expect (instance .Generic (event.GenericEvent {})).To (BeTrue ())
715
+ Expect (instance .Update (evt )).To (BeFalse ())
716
+ })
717
+ })
718
+
719
+ Context ("Where a label value has changed" , func () {
720
+ It ("should return true" , func () {
721
+ new := & corev1.Pod {
722
+ ObjectMeta : metav1.ObjectMeta {
723
+ Name : "baz" ,
724
+ Namespace : "biz" ,
725
+ Labels : map [string ]string {
726
+ "foo" : "bar" ,
727
+ },
728
+ }}
729
+
730
+ old := & corev1.Pod {
731
+ ObjectMeta : metav1.ObjectMeta {
732
+ Name : "baz" ,
733
+ Namespace : "biz" ,
734
+ Labels : map [string ]string {
735
+ "foo" : "bee" ,
736
+ },
737
+ }}
738
+
739
+ evt := event.UpdateEvent {
740
+ ObjectOld : old ,
741
+ ObjectNew : new ,
742
+ }
743
+ Expect (instance .Create (event.CreateEvent {})).To (BeTrue ())
744
+ Expect (instance .Delete (event.DeleteEvent {})).To (BeTrue ())
745
+ Expect (instance .Generic (event.GenericEvent {})).To (BeTrue ())
746
+ Expect (instance .Update (evt )).To (BeTrue ())
747
+ })
748
+ })
749
+
750
+ Context ("Where a label has been added" , func () {
751
+ It ("should return true" , func () {
752
+ new := & corev1.Pod {
753
+ ObjectMeta : metav1.ObjectMeta {
754
+ Name : "baz" ,
755
+ Namespace : "biz" ,
756
+ Labels : map [string ]string {
757
+ "foo" : "bar" ,
758
+ },
759
+ }}
760
+
761
+ old := & corev1.Pod {
762
+ ObjectMeta : metav1.ObjectMeta {
763
+ Name : "baz" ,
764
+ Namespace : "biz" ,
765
+ Labels : map [string ]string {
766
+ "foo" : "bar" ,
767
+ "faa" : "bor" ,
768
+ },
769
+ }}
770
+
771
+ evt := event.UpdateEvent {
772
+ ObjectOld : old ,
773
+ ObjectNew : new ,
774
+ }
775
+ Expect (instance .Create (event.CreateEvent {})).To (BeTrue ())
776
+ Expect (instance .Delete (event.DeleteEvent {})).To (BeTrue ())
777
+ Expect (instance .Generic (event.GenericEvent {})).To (BeTrue ())
778
+ Expect (instance .Update (evt )).To (BeTrue ())
779
+ })
780
+ })
781
+
782
+ Context ("Where a label has been removed" , func () {
783
+ It ("should return true" , func () {
784
+ new := & corev1.Pod {
785
+ ObjectMeta : metav1.ObjectMeta {
786
+ Name : "baz" ,
787
+ Namespace : "biz" ,
788
+ Labels : map [string ]string {
789
+ "foo" : "bar" ,
790
+ "faa" : "bor" ,
791
+ },
792
+ }}
793
+
794
+ old := & corev1.Pod {
795
+ ObjectMeta : metav1.ObjectMeta {
796
+ Name : "baz" ,
797
+ Namespace : "biz" ,
798
+ Labels : map [string ]string {
799
+ "foo" : "bar" ,
800
+ },
801
+ }}
802
+
803
+ evt := event.UpdateEvent {
804
+ ObjectOld : old ,
805
+ ObjectNew : new ,
806
+ }
807
+ Expect (instance .Create (event.CreateEvent {})).To (BeTrue ())
808
+ Expect (instance .Delete (event.DeleteEvent {})).To (BeTrue ())
809
+ Expect (instance .Generic (event.GenericEvent {})).To (BeTrue ())
810
+ Expect (instance .Update (evt )).To (BeTrue ())
811
+ })
812
+ })
813
+ })
814
+
613
815
Context ("With a boolean predicate" , func () {
614
816
funcs := func (pass bool ) predicate.Funcs {
615
817
return predicate.Funcs {
0 commit comments