package dao import ( "testing" "github.com/stretchr/testify/assert" v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) func TestGetDefaultLogContainer(t *testing.T) { type args struct { imageSpecs ImageSpecs } uu := map[string]struct { po v1.Pod wantContainer string wantOk bool }{ "no_annotation": { po: v1.Pod{}, wantContainer: "", wantOk: false, }, "container_not_present": { po: v1.Pod{ObjectMeta: metav1.ObjectMeta{Annotations: map[string]string{"kubectl.kubernetes.io/default-logs-container": "container1"}}}, wantContainer: "", wantOk: false, }, "container_found": { po: v1.Pod{ObjectMeta: metav1.ObjectMeta{Annotations: map[string]string{"kubectl.kubernetes.io/default-logs-container": "container1"}}, Spec: v1.PodSpec{Containers: []v1.Container{{Name: "container1"}}}}, wantContainer: "container1", wantOk: true, }, } for k := range uu { u := uu[k] t.Run(k, func(t *testing.T) { container, ok := getDefaultLogContainer(u.po) assert.Equal(t, u.wantContainer, container) assert.Equal(t, u.wantOk, ok) }) } }