@@ -26,6 +26,7 @@ import (
26
26
"github.com/aws/aws-node-termination-handler/pkg/node"
27
27
h "github.com/aws/aws-node-termination-handler/pkg/test"
28
28
"github.com/aws/aws-node-termination-handler/pkg/uptime"
29
+ corev1 "k8s.io/api/core/v1"
29
30
v1 "k8s.io/api/core/v1"
30
31
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
31
32
"k8s.io/client-go/kubernetes/fake"
@@ -377,3 +378,43 @@ func TestUncordonIfRebootedTimeParseFailure(t *testing.T) {
377
378
err = tNode .UncordonIfRebooted (nodeName )
378
379
h .Assert (t , err != nil , "Failed to return error on UncordonIfReboted failure to parse time" )
379
380
}
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