package utils import ( "testing" "github.com/stretchr/testify/assert" corev1 "k8s.io/api/core/v1" ) func TestIsRunningAndReady(t *testing.T) { tests := []struct { name string pod *corev1.Pod want bool }{ { name: "pod is running and ready", pod: &corev1.Pod{ Status: corev1.PodStatus{ Phase: corev1.PodRunning, Conditions: []corev1.PodCondition{ { Type: corev1.PodReady, Status: corev1.ConditionTrue, }, }, }, }, want: true, }, { name: "pod is running and not ready", pod: &corev1.Pod{ Status: corev1.PodStatus{ Phase: corev1.PodRunning, Conditions: []corev1.PodCondition{ { Type: corev1.PodReady, Status: corev1.ConditionFalse, }, }, }, }, want: false, }, { name: "pod is not running and not ready", pod: &corev1.Pod{ Status: corev1.PodStatus{ Phase: corev1.PodPending, Conditions: []corev1.PodCondition{ { Type: corev1.PodReady, Status: corev1.ConditionFalse, }, }, }, }, want: false, }, { name: "pod is not running and ready", pod: &corev1.Pod{ Status: corev1.PodStatus{ Phase: corev1.PodUnknown, Conditions: []corev1.PodCondition{ { Type: corev1.PodReady, Status: corev1.ConditionTrue, }, }, }, }, want: false, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { got := IsRunningAndReady(tt.pod) assert.Equal(t, tt.want, got) }) } }