From c9685fbd1317b67a926411c6e52e3335ec1aec86 Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Fri, 25 Jan 2019 18:58:23 +0200 Subject: [PATCH] Add ConfigMap env from source tests --- pkg/controller/controller_test.go | 49 ++++++++++++++++++++++++++++++- pkg/controller/deployer_test.go | 10 +++++++ 2 files changed, 58 insertions(+), 1 deletion(-) diff --git a/pkg/controller/controller_test.go b/pkg/controller/controller_test.go index d6652535..610d8751 100644 --- a/pkg/controller/controller_test.go +++ b/pkg/controller/controller_test.go @@ -40,11 +40,12 @@ func SetupTest() ( ) { canary = newTestCanary() configMap := NewTestConfigMap() + configMapForEnv := NewTestConfigMapForEnv() secret := NewTestSecret() dep := newTestDeployment() hpa := newTestHPA() - kubeClient = fake.NewSimpleClientset(secret, configMap, dep, hpa) + kubeClient = fake.NewSimpleClientset(secret, configMap, configMapForEnv, dep, hpa) istioClient = fakeIstio.NewSimpleClientset() @@ -139,6 +140,34 @@ func NewTestConfigMapUpdated() *corev1.ConfigMap { } } +func NewTestConfigMapForEnv() *corev1.ConfigMap { + return &corev1.ConfigMap{ + TypeMeta: metav1.TypeMeta{APIVersion: corev1.SchemeGroupVersion.String()}, + ObjectMeta: metav1.ObjectMeta{ + Namespace: "default", + Name: "podinfo-config-all-env", + }, + Data: map[string]string{ + "a": "b", + "c": "d", + }, + } +} + +func NewTestConfigMapForEnvUpdated() *corev1.ConfigMap { + return &corev1.ConfigMap{ + TypeMeta: metav1.TypeMeta{APIVersion: corev1.SchemeGroupVersion.String()}, + ObjectMeta: metav1.ObjectMeta{ + Namespace: "default", + Name: "podinfo-config-all-env", + }, + Data: map[string]string{ + "x": "y", + "c": "d", + }, + } +} + func NewTestSecret() *corev1.Secret { return &corev1.Secret{ TypeMeta: metav1.TypeMeta{APIVersion: corev1.SchemeGroupVersion.String()}, @@ -269,6 +298,15 @@ func newTestDeployment() *appsv1.Deployment { }, }, }, + EnvFrom: []corev1.EnvFromSource{ + { + ConfigMapRef: &corev1.ConfigMapEnvSource{ + LocalObjectReference: corev1.LocalObjectReference{ + Name: "podinfo-config-all-env", + }, + }, + }, + }, }, }, }, @@ -338,6 +376,15 @@ func newTestDeploymentUpdated() *appsv1.Deployment { }, }, }, + EnvFrom: []corev1.EnvFromSource{ + { + ConfigMapRef: &corev1.ConfigMapEnvSource{ + LocalObjectReference: corev1.LocalObjectReference{ + Name: "podinfo-config-all-env", + }, + }, + }, + }, }, }, }, diff --git a/pkg/controller/deployer_test.go b/pkg/controller/deployer_test.go index 574833c9..d198677a 100644 --- a/pkg/controller/deployer_test.go +++ b/pkg/controller/deployer_test.go @@ -22,6 +22,7 @@ func TestCanaryDeployer_Sync(t *testing.T) { dep := newTestDeployment() configMap := NewTestConfigMap() + configMapForEnv := NewTestConfigMapForEnv() secret := NewTestSecret() primaryImage := depPrimary.Spec.Template.Spec.Containers[0].Image @@ -39,6 +40,15 @@ func TestCanaryDeployer_Sync(t *testing.T) { t.Errorf("Got HPA target %s wanted %s", hpaPrimary.Spec.ScaleTargetRef.Name, depPrimary.Name) } + configPrimaryForEnv, err := kubeClient.CoreV1().ConfigMaps("default").Get("podinfo-config-all-env-primary", metav1.GetOptions{}) + if err != nil { + t.Fatal(err.Error()) + } + + if configPrimaryForEnv.Data["a"] != configMapForEnv.Data["a"] { + t.Errorf("Got ConfigMap %s wanted %s", configPrimaryForEnv.Data["a"], configMapForEnv.Data["color"]) + } + configPrimary, err := kubeClient.CoreV1().ConfigMaps("default").Get("podinfo-config-env-primary", metav1.GetOptions{}) if err != nil { t.Fatal(err.Error())