@@ -26,6 +26,7 @@ import (
2626 "github.com/aws/aws-node-termination-handler/pkg/node"
2727 h "github.com/aws/aws-node-termination-handler/pkg/test"
2828 "github.com/aws/aws-node-termination-handler/pkg/uptime"
29+ corev1 "k8s.io/api/core/v1"
2930 v1 "k8s.io/api/core/v1"
3031 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
3132 "k8s.io/client-go/kubernetes/fake"
@@ -377,3 +378,43 @@ func TestUncordonIfRebootedTimeParseFailure(t *testing.T) {
377378 err = tNode .UncordonIfRebooted (nodeName )
378379 h .Assert (t , err != nil , "Failed to return error on UncordonIfReboted failure to parse time" )
379380}
381+
382+ func TestFilterOutDaemonSetPods (t * testing.T ) {
383+ tNode , err := newNode (config.Config {IgnoreDaemonSets : true }, fake .NewSimpleClientset ())
384+ h .Ok (t , err )
385+
386+ mockPodList := & corev1.PodList {
387+ Items : []corev1.Pod {
388+ {
389+ ObjectMeta : metav1.ObjectMeta {
390+ Name : "mock-daemon-pod" ,
391+ OwnerReferences : []metav1.OwnerReference {
392+ {
393+ Kind : "DaemonSet" ,
394+ Name : "daemon-1" ,
395+ },
396+ },
397+ },
398+ },
399+ {
400+ ObjectMeta : metav1.ObjectMeta {
401+ Name : "mock-replica-pod" ,
402+ OwnerReferences : []metav1.OwnerReference {
403+ {
404+ Kind : "ReplicaSet" ,
405+ Name : "replica-1" ,
406+ },
407+ },
408+ },
409+ },
410+ {
411+ ObjectMeta : metav1.ObjectMeta {
412+ Name : "mock-regular-pod" ,
413+ },
414+ },
415+ },
416+ }
417+
418+ filteredMockPodList := tNode .FilterOutDaemonSetPods (mockPodList )
419+ h .Equals (t , 2 , len (filteredMockPodList .Items ))
420+ }
0 commit comments