package base import ( "testing" "github.com/stretchr/testify/assert" corev1 "k8s.io/api/core/v1" ) func TestCompareContainerVolumeMounts(t *testing.T) { t.Run("happy with service account", func(t *testing.T) { expectedContainer := corev1.Container{ VolumeMounts: []corev1.VolumeMount{ { Name: "volume-name", MountPath: "/mount/path", }, }, } actualContainer := corev1.Container{ VolumeMounts: []corev1.VolumeMount{ { Name: "volume-name", MountPath: "/mount/path", }, { Name: "jenkins-operator-example-token-dh4r9", MountPath: "/var/run/secrets/kubernetes.io/serviceaccount", ReadOnly: true, }, }, } got := CompareContainerVolumeMounts(expectedContainer, actualContainer) assert.True(t, got) }) t.Run("happy without service account", func(t *testing.T) { expectedContainer := corev1.Container{ VolumeMounts: []corev1.VolumeMount{ { Name: "volume-name", MountPath: "/mount/path", }, }, } actualContainer := corev1.Container{ VolumeMounts: []corev1.VolumeMount{ { Name: "volume-name", MountPath: "/mount/path", }, }, } got := CompareContainerVolumeMounts(expectedContainer, actualContainer) assert.True(t, got) }) t.Run("different volume mounts", func(t *testing.T) { expectedContainer := corev1.Container{ VolumeMounts: []corev1.VolumeMount{ { Name: "volume-name", MountPath: "/mount/path", }, }, } actualContainer := corev1.Container{ VolumeMounts: []corev1.VolumeMount{ { Name: "jenkins-operator-example-token-dh4r9", MountPath: "/var/run/secrets/kubernetes.io/serviceaccount", ReadOnly: true, }, }, } got := CompareContainerVolumeMounts(expectedContainer, actualContainer) assert.False(t, got) }) }