84 lines
1.8 KiB
Go
84 lines
1.8 KiB
Go
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)
|
|
})
|
|
}
|