This is an automated email from the ASF dual-hosted git repository.

astefanutti pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git


The following commit(s) were added to refs/heads/master by this push:
     new e53faa8  Add toleration trait e2e test
e53faa8 is described below

commit e53faa8f6dddaea778ec58db4290e4e7b98b37a7
Author: tplevko <tple...@redhat.com>
AuthorDate: Wed Mar 17 10:44:52 2021 +0100

    Add toleration trait e2e test
---
 e2e/common/traits/toleration_test.go | 80 ++++++++++++++++++++++++++++++++++++
 1 file changed, 80 insertions(+)

diff --git a/e2e/common/traits/toleration_test.go 
b/e2e/common/traits/toleration_test.go
new file mode 100644
index 0000000..b0469d4
--- /dev/null
+++ b/e2e/common/traits/toleration_test.go
@@ -0,0 +1,80 @@
+// +build integration
+
+// To enable compilation of this file in Goland, go to "Settings -> Go -> 
Vendoring & Build Tags -> Custom Tags" and add "integration"
+
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package traits
+
+import (
+       "testing"
+
+       . "github.com/onsi/gomega"
+
+       v1 "k8s.io/api/core/v1"
+
+       . "github.com/apache/camel-k/e2e/support"
+       camelv1 "github.com/apache/camel-k/pkg/apis/camel/v1"
+)
+
+func TestTolerationTrait(t *testing.T) {
+       WithNewTestNamespace(t, func(ns string) {
+               Expect(Kamel("install", "-n", ns).Execute()).To(Succeed())
+               var wait int64 = 300
+
+               InvokeUserTestCode(t, ns, func(ns string) {
+                       t.Run("Run Java with node toleration operation exists", 
func(t *testing.T) {
+                               Expect(Kamel("run", "-n", ns, "files/Java.java",
+                                       "--name", "java1",
+                                       "-t", "toleration.enabled=true",
+                                       "-t", 
"toleration.taints=camel.apache.org/master:NoExecute:300").Execute()).To(Succeed())
+                               Eventually(IntegrationPodPhase(ns, "java1"), 
TestTimeoutLong).Should(Equal(v1.PodRunning))
+                               Eventually(IntegrationCondition(ns, "java1", 
camelv1.IntegrationConditionReady), 
TestTimeoutShort).Should(Equal(v1.ConditionTrue))
+                               Eventually(IntegrationLogs(ns, "java1"), 
TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
+
+                               pod := IntegrationPod(ns, "java1")()
+                               Expect(pod.Spec.Tolerations).NotTo(BeNil())
+
+                               
Expect(pod.Spec.Tolerations).To(ContainElement(v1.Toleration{
+                                       "camel.apache.org/master", 
v1.TolerationOpExists, "", v1.TaintEffectNoExecute, &wait,
+                               }))
+
+                               Expect(Kamel("delete", "--all", "-n", 
ns).Execute()).To(Succeed())
+                       })
+
+                       t.Run("Run Java with node toleration operation equals", 
func(t *testing.T) {
+                               Expect(Kamel("run", "-n", ns, "files/Java.java",
+                                       "--name", "java2",
+                                       "-t", "toleration.enabled=true",
+                                       "-t", 
"toleration.taints=camel.apache.org/master=test:NoExecute:300").Execute()).To(Succeed())
+                               Eventually(IntegrationPodPhase(ns, "java2"), 
TestTimeoutLong).Should(Equal(v1.PodRunning))
+                               Eventually(IntegrationCondition(ns, "java2", 
camelv1.IntegrationConditionReady), 
TestTimeoutShort).Should(Equal(v1.ConditionTrue))
+                               Eventually(IntegrationLogs(ns, "java2"), 
TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
+
+                               pod := IntegrationPod(ns, "java2")()
+                               Expect(pod.Spec.Tolerations).NotTo(BeNil())
+
+                               
Expect(pod.Spec.Tolerations).To(ContainElement(v1.Toleration{
+                                       "camel.apache.org/master", 
v1.TolerationOpEqual, "test", v1.TaintEffectNoExecute, &wait,
+                               }))
+
+                               Expect(Kamel("delete", "--all", "-n", 
ns).Execute()).To(Succeed())
+                       })
+               })
+       })
+}

Reply via email to