From 2ad064a382746bd1b76c036914df5099629d665b Mon Sep 17 00:00:00 2001 From: Vladislav Sokolovskii Date: Wed, 17 Mar 2021 00:17:23 +0100 Subject: [PATCH] Kamel CLI get test was added --- e2e/common/cli/get_test.go | 70 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 e2e/common/cli/get_test.go diff --git a/e2e/common/cli/get_test.go b/e2e/common/cli/get_test.go new file mode 100644 index 0000000000..b41a8433c8 --- /dev/null +++ b/e2e/common/cli/get_test.go @@ -0,0 +1,70 @@ +// +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 common + +import ( + "fmt" + v1 "k8s.io/api/core/v1" + "testing" + + . "github.com/onsi/gomega" + + . "github.com/apache/camel-k/e2e/support" +) + +func TestKamelCLIGet(t *testing.T) { + WithNewTestNamespace(t, func(ns string) { + Expect(Kamel("install", "-n", ns).Execute()).To(Succeed()) + + t.Run("get integration", func(t *testing.T) { + Expect(Kamel("run", "../files/yaml.yaml", "-n", ns).Execute()).To(Succeed()) + Eventually(IntegrationPodPhase(ns, "yaml"), TestTimeoutMedium).Should(Equal(v1.PodRunning)) + // regex is used for the compatibility of tests between OC and vanilla K8 + // kamel get may have different output depending og the platform + kitName := Integration(ns, "yaml")().Status.Kit + regex := fmt.Sprintf("^NAME\tPHASE\tKIT\n\\s*yaml\tRunning\t(%s/%s|%s)", ns, kitName, kitName) + Expect(GetOutputString(Kamel("get", "-n", ns))).To(MatchRegexp(regex)) + + Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) + }) + + t.Run("get several integrations", func(t *testing.T) { + Expect(Kamel("run", "../files/yaml.yaml", "-n", ns).Execute()).To(Succeed()) + Expect(Kamel("run", "../files/Java.java", "-n", ns).Execute()).To(Succeed()) + Eventually(IntegrationPodPhase(ns, "yaml"), TestTimeoutMedium).Should(Equal(v1.PodRunning)) + Eventually(IntegrationPodPhase(ns, "java"), TestTimeoutMedium).Should(Equal(v1.PodRunning)) + + kitName1 := Integration(ns, "java")().Status.IntegrationKit.Name + kitName2 := Integration(ns, "yaml")().Status.IntegrationKit.Name + regex := fmt.Sprintf("^NAME\tPHASE\tKIT\n\\s*java\tRunning\t" + + "(%s/%s|%s)\n\\s*yaml\tRunning\t(%s/%s|%s)\n", ns, kitName1, kitName1, ns, kitName2, kitName2) + Expect(GetOutputString(Kamel("get", "-n", ns))).To(MatchRegexp(regex)) + + Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) + }) + + t.Run("get no integrations" , func(t *testing.T) { + Expect(GetOutputString(Kamel("get", "-n", ns))).NotTo(ContainSubstring("Running")) + Expect(GetOutputString(Kamel("get", "-n", ns))).NotTo(ContainSubstring("Building Kit")) + }) + }) +}