Newer
Older
import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
corev1 "k8s.io/api/core/v1"
)
var _ = Describe("Parameters", func() {
var (
paramEnvVar Parameter
paramEnvVarFrom Parameter
// paramEnvFrom Parameter
// paramEnvFromSecret Parameter
paramTemplateLiteral = Parameter{
Key: "TEMPLATE_PARAMETER",
Value: "{{ .LITERAL_PARAMETER }}",
Type: ConfigParameter,
Generate: GenerateTemplate,
MountType: MountLiteral,
}
paramTemplateFrom = Parameter{
Key: "TEMPLATE_PARAMETER_FROM",
Value: "{{ .LITERAL_PARAMETER }}",
Type: ConfigParameter,
Generate: GenerateTemplate,
valueFromObject = ValueFrom{
FromKey: "status.podIP",
Type: ObjectFieldParameter,
ValueFrom: valueFromObject,
paramMountFile = Parameter{
Key: "nginx.conf",
Type: ConfigParameter,
Value: "example",
MountType: MountFile,
MountPath: MountPath{
Path: "/ect/nginx/nginx.conf",
SubPath: "nginx.conf",
},
}
¶mEnvVar,
¶mEnvVarFrom,
¶mEnvVarFromSecret,
/* envFrom = &EnvFrom{
SecretRefs: []string{
"mysecret",
"myothersecret",
},
ConfigRefs: []string{
"myconfigmap",
},
}
settings = &Settings{
EnvFrom: envFrom,
Parameters: parameters,
} */
Describe("Generating Envirnonment Variables for containers from parameter", func() {
Context("MountType is Literal", func() {
It("should generate envVar", func() {
}
res, err := paramEnvVar.GetEnvVar()
Expect(res).To(Equal(expectedObj))
Expect(err).NotTo(HaveOccurred())
})
})
Context("MountType is From", func() {
It("should generate envVar with valueFrom", func() {
ValueFrom: &corev1.EnvVarSource{
ConfigMapKeyRef: &corev1.ConfigMapKeySelector{
LocalObjectReference: corev1.LocalObjectReference{
res, err := paramEnvVarFrom.GetEnvVar()
Expect(res).To(Equal(expectedObj))
Expect(err).NotTo(HaveOccurred())
})
})
Context("MountType is ObjectField", func() {
It("should generate envVar with valueFrom", func() {
ValueFrom: &corev1.EnvVarSource{
FieldRef: &corev1.ObjectFieldSelector{
APIVersion: "v1",
FieldPath: "status.podIP",
Expect(res).To(Equal(expectedObj))
Expect(err).NotTo(HaveOccurred())
})
})
})
/* Describe("Generating Env for containers with EnvFrom", func() {
It("should generate envFrom", func() {
expectedObj := []corev1.EnvFromSource{
ConfigMapRef: &corev1.ConfigMapEnvSource{
LocalObjectReference: corev1.LocalObjectReference{
Name: "myconfigmap",
SecretRef: &corev1.SecretEnvSource{
LocalObjectReference: corev1.LocalObjectReference{
Name: "mysecret",
SecretRef: &corev1.SecretEnvSource{
LocalObjectReference: corev1.LocalObjectReference{
Name: "myothersecret",
res := settings.GetEnvFrom()
Expect(res).To(Equal(expectedObj))
// Expect(err).NotTo(HaveOccurred())
})
}) */
Describe("Generating Env for containers with Parameters", func() {
Context("Generating envFrom", func() {
It("should generate envVar", func() {
expectedObj := []corev1.EnvVar{
{
Name: "LITERAL_PARAMETER",
Value: "LiteralParameter",
},
{
Name: "VALUE_FROM_CONFIG_PARAMETER",
ValueFrom: &corev1.EnvVarSource{
ConfigMapKeyRef: &corev1.ConfigMapKeySelector{
LocalObjectReference: corev1.LocalObjectReference{
Name: "configRef",
},
{
Name: "VALUE_FROM_SECRET_PARAMETER",
ValueFrom: &corev1.EnvVarSource{
SecretKeyRef: &corev1.SecretKeySelector{
LocalObjectReference: corev1.LocalObjectReference{
Name: "secretRef",
},
{
Name: "PARAMETER_FROM_OBJECT",
ValueFrom: &corev1.EnvVarSource{
FieldRef: &corev1.ObjectFieldSelector{
APIVersion: "v1",
FieldPath: "status.podIP",
},
{
Name: "TEMPLATE_PARAMETER",
Value: "LiteralParameter",
},
}
Expect(res).To(Equal(expectedObj))
// Expect(err).NotTo(HaveOccurred())
Describe("Generating data for configmap and secret with Parameters", func() {
Context("Generating data", func() {
It("should generate data", func() {
parameters.InitValues()
expectedObj := map[string]string{
"TEMPLATE_PARAMETER_FROM": "LiteralParameter",
}
Expect(parameters.GetData()).To(Equal(expectedObj))
// Expect(err).NotTo(HaveOccurred())
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
Describe("Generating mount files", func() {
Context("Generating volumes & volume mount", func() {
It("should generate volume for pod", func() {
expectedObj := corev1.Volume{
Name: "nginx-conf",
VolumeSource: corev1.VolumeSource{
ConfigMap: &corev1.ConfigMapVolumeSource{
LocalObjectReference: corev1.LocalObjectReference{
Name: "",
},
},
},
}
Expect(paramMountFile.GetPodVolume()).To(Equal(expectedObj))
// Expect(err).NotTo(HaveOccurred())
})
It("should generate volumeMount for container", func() {
expectedObj := corev1.VolumeMount{
Name: "nginx-conf",
ReadOnly: true,
MountPath: "",
SubPath: "",
}
Expect(paramMountFile.GetVolumeMount()).To(Equal(expectedObj))
// Expect(err).NotTo(HaveOccurred())
})
})
})