From fd30c001d2bd2978baa8d2cbe72bdb82a076c568 Mon Sep 17 00:00:00 2001 From: Alessandro Cattapan Date: Thu, 3 Oct 2024 00:17:25 +0200 Subject: [PATCH] Created Unit Test for new implementation and created additional controls on previous test in order to check backward compatibility of the new feature --- ...constellation-messaging-deployment_test.go | 29 +++++++++++++++++++ .../constellation-static-depoyment_test.go | 28 ++++++++++++++++++ 2 files changed, 57 insertions(+) diff --git a/terratest/src/test/backingservices/constellation-messaging-deployment_test.go b/terratest/src/test/backingservices/constellation-messaging-deployment_test.go index 868a8dba6..e47fa2348 100644 --- a/terratest/src/test/backingservices/constellation-messaging-deployment_test.go +++ b/terratest/src/test/backingservices/constellation-messaging-deployment_test.go @@ -32,4 +32,33 @@ func TestConstellationMessagingDeploymentWithAffinity(t *testing.T) { require.Equal(t, "kubernetes.io/os", deploymentAffinity.NodeSelectorTerms[0].MatchExpressions[0].Key) require.Equal(t, "In", string(deploymentAffinity.NodeSelectorTerms[0].MatchExpressions[0].Operator)) require.Equal(t, "linux", deploymentAffinity.NodeSelectorTerms[0].MatchExpressions[0].Values[0]) + require.Empty(t, cllnMessagingDeploymentObj.Spec.Template.Spec.Tolerations) +} + +func TestConstellationMessagingDeploymentWithTolerations(t *testing.T) { + + helmChartParser := NewHelmConfigParser( + NewHelmTestFromTemplate(t, helmChartRelativePath, map[string]string{ + "constellation-messaging.enabled": "true", + "constellation-messaging.name": "constellation-messaging", + "constellation-messaging.tolerations[0].key": "key1", + "constellation-messaging.tolerations[0].value": "value1", + "constellation-messaging.tolerations[0].operator": "Equal", + "constellation-messaging.tolerations[0].effect": "NotSchedule", + }, + []string{"charts/constellation-messaging/templates/messaging-deployment.yaml"}), + ) + + var cllnMessagingDeploymentObj appsv1.Deployment + helmChartParser.getResourceYAML(SearchResourceOption{ + Name: "constellation-messaging", + Kind: "Deployment", + }, &cllnMessagingDeploymentObj) + + deploymentTolerations := cllnMessagingDeploymentObj.Spec.Template.Spec.Tolerations + require.Equal(t, "key1", deploymentTolerations[0].Key) + require.Equal(t, "value1", deploymentTolerations[0].Value) + require.Equal(t, "Equal", string(deploymentTolerations[0].Operator)) + require.Equal(t, "NotSchedule", string(deploymentTolerations[0].Effect)) + require.Empty(t, cllnMessagingDeploymentObj.Spec.Template.Spec.Affinity) } diff --git a/terratest/src/test/backingservices/constellation-static-depoyment_test.go b/terratest/src/test/backingservices/constellation-static-depoyment_test.go index bb8ee18ac..36573192d 100644 --- a/terratest/src/test/backingservices/constellation-static-depoyment_test.go +++ b/terratest/src/test/backingservices/constellation-static-depoyment_test.go @@ -31,4 +31,32 @@ func TestConstellationStaticDeploymentWithAffinity(t *testing.T) { require.Equal(t, "kubernetes.io/os", deploymentAffinity.NodeSelectorTerms[0].MatchExpressions[0].Key) require.Equal(t, "In", string(deploymentAffinity.NodeSelectorTerms[0].MatchExpressions[0].Operator)) require.Equal(t, "linux", deploymentAffinity.NodeSelectorTerms[0].MatchExpressions[0].Values[0]) + require.Empty(t, cllnDeploymentObj.Spec.Template.Spec.Tolerations) +} + +func TestConstellationStaticDeploymentWithTolerations(t *testing.T) { + + helmChartParser := NewHelmConfigParser( + NewHelmTestFromTemplate(t, helmChartRelativePath, map[string]string{ + "constellation.enabled": "true", + "constellation.tolerations[0].key": "key1", + "constellation.tolerations[0].value": "value1", + "constellation.tolerations[0].operator": "Equal", + "constellation.tolerations[0].effect": "NotSchedule", + }, + []string{"charts/constellation/templates/clln-deployment.yaml"}), + ) + + var cllnDeploymentObj appsv1.Deployment + helmChartParser.getResourceYAML(SearchResourceOption{ + Name: "constellation", + Kind: "Deployment", + }, &cllnDeploymentObj) + + deploymentTolerations := cllnDeploymentObj.Spec.Template.Spec.Tolerations + require.Equal(t, "key1", deploymentTolerations[0].Key) + require.Equal(t, "value1", deploymentTolerations[0].Value) + require.Equal(t, "Equal", string(deploymentTolerations[0].Operator)) + require.Equal(t, "NotSchedule", string(deploymentTolerations[0].Effect)) + require.Empty(t, cllnDeploymentObj.Spec.Template.Spec.Affinity) }