This is an automated email from the ASF dual-hosted git repository. astefanutti pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-k.git
commit 87b3a94b94c3f05a8fa7b693b2721221728fe0fe Author: Antonin Stefanutti <anto...@stefanutti.fr> AuthorDate: Mon Nov 15 11:50:19 2021 +0100 test: Add health trait e2e tests --- e2e/common/build/maven_ca_secret_test.go | 2 +- e2e/common/build/maven_repository_test.go | 8 +-- e2e/common/cli/describe_test.go | 9 ++- e2e/common/cli/dump_test.go | 6 +- e2e/common/cli/help_test.go | 1 + e2e/common/cli/run_test.go | 12 ++-- e2e/common/cli/version_test.go | 3 +- e2e/common/config/config_test.go | 38 ++++++------- e2e/common/cron_test.go | 10 ++-- e2e/common/integration_fail_test.go | 2 +- e2e/common/kamelet_upgrade_test.go | 4 +- e2e/common/languages/groovy_test.go | 2 +- e2e/common/languages/java_test.go | 4 +- e2e/common/languages/js_test.go | 2 +- e2e/common/languages/kotlin_test.go | 2 +- e2e/common/languages/polyglot_test.go | 2 +- e2e/common/languages/xml_test.go | 2 +- e2e/common/languages/yaml_test.go | 2 +- e2e/common/operator_id_filtering_test.go | 25 ++++---- e2e/common/operator_metrics_test.go | 2 +- e2e/common/scale_binding_test.go | 6 +- e2e/common/scale_integration_test.go | 10 ++-- e2e/common/secondary_platform_test.go | 6 +- e2e/common/structured_logs_test.go | 2 +- e2e/common/traits/affinity_test.go | 42 +++++++------- e2e/common/traits/error_handler_test.go | 8 +-- e2e/common/traits/health_test.go | 88 +++++++++++++++++++++++++++++ e2e/common/traits/istio_test.go | 8 +-- e2e/common/traits/jolokia_test.go | 8 +-- e2e/common/traits/jvm_test.go | 8 +-- e2e/common/traits/master_test.go | 8 +-- e2e/common/traits/pdb_test.go | 6 +- e2e/common/traits/pod_test.go | 2 +- e2e/common/traits/prometheus_test.go | 8 +-- e2e/common/traits/pull_secret_test.go | 14 ++--- e2e/common/traits/toleration_test.go | 38 ++++++------- e2e/knative/kamelet_test.go | 4 +- e2e/knative/knative_test.go | 8 +-- e2e/knative/pod_test.go | 4 +- e2e/native/native_test.go | 6 +- e2e/service-binding/service_binding_test.go | 2 +- e2e/support/test_support.go | 32 +++++++++-- e2e/upgrade/cli_upgrade_test.go | 4 +- e2e/upgrade/olm_upgrade_test.go | 4 +- 44 files changed, 294 insertions(+), 170 deletions(-) diff --git a/e2e/common/build/maven_ca_secret_test.go b/e2e/common/build/maven_ca_secret_test.go index 54c1e00..2e6f35b 100644 --- a/e2e/common/build/maven_ca_secret_test.go +++ b/e2e/common/build/maven_ca_secret_test.go @@ -433,7 +433,7 @@ ProxyPreserveHost On Expect(Kamel("run", "-n", ns, "files/Java.java", "--name", name).Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, name), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) // Assert no dependencies have been downloaded from the Maven central repository diff --git a/e2e/common/build/maven_repository_test.go b/e2e/common/build/maven_repository_test.go index 596a5cc..3a2d7a6 100644 --- a/e2e/common/build/maven_repository_test.go +++ b/e2e/common/build/maven_repository_test.go @@ -27,10 +27,10 @@ import ( . "github.com/onsi/gomega" - v1 "k8s.io/api/core/v1" + corev1 "k8s.io/api/core/v1" . "github.com/apache/camel-k/e2e/support" - camelv1 "github.com/apache/camel-k/pkg/apis/camel/v1" + v1 "github.com/apache/camel-k/pkg/apis/camel/v1" ) func TestRunExtraRepository(t *testing.T) { @@ -44,8 +44,8 @@ func TestRunExtraRepository(t *testing.T) { "--name", name, ).Execute()).To(Succeed()) - Eventually(IntegrationPodPhase(ns, name), TestTimeoutMedium).Should(Equal(v1.PodRunning)) - Eventually(IntegrationCondition(ns, name, camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) + Eventually(IntegrationPodPhase(ns, name), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) diff --git a/e2e/common/cli/describe_test.go b/e2e/common/cli/describe_test.go index dfd43c6..b81c109 100644 --- a/e2e/common/cli/describe_test.go +++ b/e2e/common/cli/describe_test.go @@ -1,3 +1,4 @@ +//go:build integration // +build integration // To enable compilation of this file in Goland, go to "Settings -> Go -> Vendoring & Build Tags -> Custom Tags" and add "integration" @@ -25,17 +26,19 @@ import ( "regexp" "testing" + . "github.com/onsi/gomega" + + corev1 "k8s.io/api/core/v1" + . "github.com/apache/camel-k/e2e/support" "github.com/apache/camel-k/pkg/util/defaults" - . "github.com/onsi/gomega" - v1 "k8s.io/api/core/v1" ) func TestKamelCliDescribe(t *testing.T) { WithNewTestNamespace(t, func(ns string) { Expect(Kamel("install", "-n", ns).Execute()).To(Succeed()) Expect(Kamel("run", "-n", ns, "files/yaml.yaml").Execute()).To(Succeed()) - Eventually(IntegrationPodPhase(ns, "yaml"), TestTimeoutLong).Should(Equal(v1.PodRunning)) + Eventually(IntegrationPodPhase(ns, "yaml"), TestTimeoutLong).Should(Equal(corev1.PodRunning)) t.Run("Test kamel describe integration", func(t *testing.T) { integration := GetOutputString(Kamel("describe", "integration", "yaml", "-n", ns)) diff --git a/e2e/common/cli/dump_test.go b/e2e/common/cli/dump_test.go index 16534e8..5169add 100644 --- a/e2e/common/cli/dump_test.go +++ b/e2e/common/cli/dump_test.go @@ -1,3 +1,4 @@ +//go:build integration // +build integration // To enable compilation of this file in Goland, go to "Settings -> Go -> Vendoring & Build Tags -> Custom Tags" and add "integration" @@ -22,11 +23,12 @@ limitations under the License. package common import ( - v1 "k8s.io/api/core/v1" "testing" . "github.com/onsi/gomega" + corev1 "k8s.io/api/core/v1" + . "github.com/apache/camel-k/e2e/support" ) @@ -42,7 +44,7 @@ func TestKamelCLIDump(t *testing.T) { t.Run("dump non-empty namespace", func(t *testing.T) { Expect(Kamel("install", "-n", ns).Execute()).To(Succeed()) Expect(Kamel("run", "files/yaml.yaml", "-n", ns).Execute()).To(Succeed()) - Eventually(IntegrationPodPhase(ns, "yaml"), TestTimeoutMedium).Should(Equal(v1.PodRunning)) + Eventually(IntegrationPodPhase(ns, "yaml"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) Eventually(IntegrationLogs(ns, "yaml")).Should(ContainSubstring("Magicstring!")) dump := GetOutputString(Kamel("dump", "-n", ns)) diff --git a/e2e/common/cli/help_test.go b/e2e/common/cli/help_test.go index 3f79450..2871554 100644 --- a/e2e/common/cli/help_test.go +++ b/e2e/common/cli/help_test.go @@ -1,3 +1,4 @@ +//go:build integration // +build integration // To enable compilation of this file in Goland, go to "Settings -> Go -> Vendoring & Build Tags -> Custom Tags" and add "integration" diff --git a/e2e/common/cli/run_test.go b/e2e/common/cli/run_test.go index bd91c23..ecfa03d 100644 --- a/e2e/common/cli/run_test.go +++ b/e2e/common/cli/run_test.go @@ -42,7 +42,7 @@ func TestRunExamplesFromGitHub(t *testing.T) { t.Run("run java from GitHub", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "github:apache/camel-k/e2e/common/files/Java.java").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "java"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "java", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "java", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) @@ -50,7 +50,7 @@ func TestRunExamplesFromGitHub(t *testing.T) { t.Run("run java from GitHub (RAW)", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "https://raw.githubusercontent.com/apache/camel-k/main/e2e/common/files/Java.java").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "java"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "java", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "java", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) @@ -59,7 +59,7 @@ func TestRunExamplesFromGitHub(t *testing.T) { name := "github-gist-id" Expect(Kamel("run", "-n", ns, "--name", name, "gist:e2c3f9a5fd0d9e79b21b04809786f17a").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, name), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("Tick!")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) @@ -69,7 +69,7 @@ func TestRunExamplesFromGitHub(t *testing.T) { name := "github-gist-url" Expect(Kamel("run", "-n", ns, "--name", name, "https://gist.github.com/lburgazzoli/e2c3f9a5fd0d9e79b21b04809786f17a").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, name), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("Tick!")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) @@ -87,7 +87,7 @@ func TestRunAndUpdate(t *testing.T) { name := "run" Expect(Kamel("run", "-n", ns, "files/run.yaml", "--name", name).Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, name), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("Magic default")) // Re-run the Integration with an updated configuration @@ -101,7 +101,7 @@ func TestRunAndUpdate(t *testing.T) { // Check the new configuration is taken into account Eventually(IntegrationPodPhase(ns, name), TestTimeoutShort).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("Magic value")) // Clean up diff --git a/e2e/common/cli/version_test.go b/e2e/common/cli/version_test.go index 7b3f05c..1b77b3b 100644 --- a/e2e/common/cli/version_test.go +++ b/e2e/common/cli/version_test.go @@ -1,3 +1,4 @@ +//go:build integration // +build integration // To enable compilation of this file in Goland, go to "Settings -> Go -> Vendoring & Build Tags -> Custom Tags" and add "integration" @@ -22,12 +23,12 @@ limitations under the License. package common import ( - "github.com/apache/camel-k/pkg/util/defaults" "testing" . "github.com/onsi/gomega" . "github.com/apache/camel-k/e2e/support" + "github.com/apache/camel-k/pkg/util/defaults" ) func TestKamelCLIVersion(t *testing.T) { diff --git a/e2e/common/config/config_test.go b/e2e/common/config/config_test.go index 3e0438a..d9b16f9 100644 --- a/e2e/common/config/config_test.go +++ b/e2e/common/config/config_test.go @@ -45,7 +45,7 @@ func TestRunConfigExamples(t *testing.T) { t.Run("Simple property", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "./files/property-route.groovy", "-p", "my.message=test-property").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "property-route"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "property-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "property-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "property-route"), TestTimeoutShort).Should(ContainSubstring("test-property")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) @@ -53,7 +53,7 @@ func TestRunConfigExamples(t *testing.T) { t.Run("Property file", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "./files/property-file-route.groovy", "--property", "file:./files/my.properties").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "property-file-route"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "property-file-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "property-file-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "property-file-route"), TestTimeoutShort).Should(ContainSubstring("hello world")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) @@ -61,7 +61,7 @@ func TestRunConfigExamples(t *testing.T) { t.Run("Property precedence", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "./files/property-file-route.groovy", "-p", "my.key.2=universe", "-p", "file:./files/my.properties").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "property-file-route"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "property-file-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "property-file-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "property-file-route"), TestTimeoutShort).Should(ContainSubstring("hello universe")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) @@ -82,7 +82,7 @@ func TestRunConfigExamples(t *testing.T) { t.Run("Config configmap", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "./files/config-configmap-route.groovy", "--config", "configmap:my-cm").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "config-configmap-route"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "config-configmap-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "config-configmap-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "config-configmap-route"), TestTimeoutShort).Should(ContainSubstring(cmData["my-configmap-key"])) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) @@ -92,7 +92,7 @@ func TestRunConfigExamples(t *testing.T) { Expect(Kamel("run", "-n", ns, "./files/resource-configmap-route.groovy", "--resource", "configmap:my-cm").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "resource-configmap-route"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "resource-configmap-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "resource-configmap-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "resource-configmap-route"), TestTimeoutShort).Should(ContainSubstring(cmData["my-configmap-key"])) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) @@ -102,7 +102,7 @@ func TestRunConfigExamples(t *testing.T) { Expect(Kamel("run", "-n", ns, "./files/resource-configmap-location-route.groovy", "--resource", "configmap:my-cm@/tmp/app").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "resource-configmap-location-route"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "resource-configmap-location-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "resource-configmap-location-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "resource-configmap-location-route"), TestTimeoutShort).Should(ContainSubstring(cmData["my-configmap-key"])) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) @@ -112,7 +112,7 @@ func TestRunConfigExamples(t *testing.T) { Expect(Kamel("run", "-n", ns, "./files/resource-configmap-key-location-route.groovy", "--resource", "configmap:my-cm-multi/my-configmap-key-2@/tmp/app").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "resource-configmap-key-location-route"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "resource-configmap-key-location-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "resource-configmap-key-location-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "resource-configmap-key-location-route"), TestTimeoutShort).ShouldNot(ContainSubstring(cmDataMulti["my-configmap-key"])) Eventually(IntegrationLogs(ns, "resource-configmap-key-location-route"), TestTimeoutShort).Should(ContainSubstring(cmDataMulti["my-configmap-key-2"])) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) @@ -126,7 +126,7 @@ func TestRunConfigExamples(t *testing.T) { t.Run("Config configmap as property file", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "./files/config-configmap-properties-route.groovy", "--config", "configmap:my-cm-properties").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "config-configmap-properties-route"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "config-configmap-properties-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "config-configmap-properties-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "config-configmap-properties-route"), TestTimeoutShort).Should(ContainSubstring("hello world")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) @@ -141,7 +141,7 @@ func TestRunConfigExamples(t *testing.T) { t.Run("Config secret", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "./files/config-secret-route.groovy", "--config", "secret:my-sec").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "config-secret-route"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "config-secret-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "config-secret-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "config-secret-route"), TestTimeoutShort).Should(ContainSubstring(secData["my-secret-key"])) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) @@ -149,7 +149,7 @@ func TestRunConfigExamples(t *testing.T) { t.Run("Resource secret", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "./files/resource-secret-route.groovy", "--resource", "secret:my-sec").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "resource-secret-route"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "resource-secret-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "resource-secret-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "resource-secret-route"), TestTimeoutShort).Should(ContainSubstring(secData["my-secret-key"])) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) @@ -159,7 +159,7 @@ func TestRunConfigExamples(t *testing.T) { t.Run("Plain text configuration file", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "./files/config-file-route.groovy", "--config", "file:./files/resources-data.txt").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "config-file-route"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "config-file-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "config-file-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "config-file-route"), TestTimeoutShort).Should(ContainSubstring("the file body")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) @@ -169,7 +169,7 @@ func TestRunConfigExamples(t *testing.T) { t.Run("Plain text resource file", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "./files/resource-file-route.groovy", "--resource", "file:./files/resources-data.txt").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "resource-file-route"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "resource-file-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "resource-file-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "resource-file-route"), TestTimeoutShort).Should(ContainSubstring("the file body")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) @@ -177,7 +177,7 @@ func TestRunConfigExamples(t *testing.T) { t.Run("Plain text resource file with destination path", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "./files/resource-file-location-route.groovy", "--resource", "file:./files/resources-data.txt@/tmp/file.txt").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "resource-file-location-route"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "resource-file-location-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "resource-file-location-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "resource-file-location-route"), TestTimeoutShort).Should(ContainSubstring("the file body")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) @@ -185,7 +185,7 @@ func TestRunConfigExamples(t *testing.T) { t.Run("Binary (zip) resource file", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "./files/resource-file-binary-route.groovy", "--resource", "file:./files/resources-data.zip", "-d", "camel-zipfile").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "resource-file-binary-route"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "resource-file-binary-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "resource-file-binary-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "resource-file-binary-route"), TestTimeoutShort).Should(ContainSubstring("the file body")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) @@ -199,7 +199,7 @@ func TestRunConfigExamples(t *testing.T) { Expect(Kamel("run", "-n", ns, "./files/resource-file-base64-encoded-route.groovy", "--resource", "file:./files/resources-data.txt", "--compression=true").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "resource-file-base64-encoded-route"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "resource-file-base64-encoded-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "resource-file-base64-encoded-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "resource-file-base64-encoded-route"), TestTimeoutShort).Should(ContainSubstring(string(expectedBytes))) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) @@ -208,7 +208,7 @@ func TestRunConfigExamples(t *testing.T) { t.Run("Build time property", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "./files/build-property-route.groovy", "--build-property", "quarkus.application.name=my-super-application").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "build-property-route"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "build-property-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "build-property-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "build-property-route"), TestTimeoutShort).Should(ContainSubstring("my-super-application")) // Don't delete - we need it for next test execution }) @@ -218,7 +218,7 @@ func TestRunConfigExamples(t *testing.T) { Expect(Kamel("run", "-n", ns, "./files/build-property-route.groovy", "--name", "build-property-route-updated", "--build-property", "quarkus.application.name=my-super-application-updated").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "build-property-route-updated"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "build-property-route-updated", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "build-property-route-updated", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "build-property-route-updated"), TestTimeoutShort).Should(ContainSubstring("my-super-application-updated")) // Verify the integration kits are different Expect(IntegrationKit(ns, "build-property-route")).ShouldNot(Equal(IntegrationKit(ns, "build-property-route-updated"))) @@ -229,7 +229,7 @@ func TestRunConfigExamples(t *testing.T) { t.Run("Build time property file", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "./files/build-property-file-route.groovy", "--build-property", "file:./files/quarkus.properties").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "build-property-file-route"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "build-property-file-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "build-property-file-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "build-property-file-route"), TestTimeoutShort).Should(ContainSubstring("my-super-application")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) @@ -237,7 +237,7 @@ func TestRunConfigExamples(t *testing.T) { t.Run("Build time property file with precedence", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "./files/build-property-file-route.groovy", "--build-property", "quarkus.application.name=my-overridden-application", "--build-property", "file:./files/quarkus.properties").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "build-property-file-route"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "build-property-file-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "build-property-file-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "build-property-file-route"), TestTimeoutShort).Should(ContainSubstring("my-overridden-application")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) diff --git a/e2e/common/cron_test.go b/e2e/common/cron_test.go index 4953a2d..dc26197 100644 --- a/e2e/common/cron_test.go +++ b/e2e/common/cron_test.go @@ -40,7 +40,7 @@ func TestRunCronExample(t *testing.T) { t.Run("cron", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "files/cron.yaml").Execute()).To(Succeed()) Eventually(IntegrationCronJob(ns, "cron"), TestTimeoutMedium).ShouldNot(BeNil()) - Eventually(IntegrationCondition(ns, "cron", v1.IntegrationConditionReady), TestTimeoutMedium).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "cron", v1.IntegrationConditionReady), TestTimeoutMedium).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "cron"), TestTimeoutMedium).Should(ContainSubstring("Magicstring!")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) @@ -48,7 +48,7 @@ func TestRunCronExample(t *testing.T) { t.Run("cron-yaml", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "files/cron-yaml.yaml").Execute()).To(Succeed()) Eventually(IntegrationCronJob(ns, "cron-yaml"), TestTimeoutMedium).ShouldNot(BeNil()) - Eventually(IntegrationCondition(ns, "cron-yaml", v1.IntegrationConditionReady), TestTimeoutMedium).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "cron-yaml", v1.IntegrationConditionReady), TestTimeoutMedium).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "cron-yaml"), TestTimeoutMedium).Should(ContainSubstring("Magicstring!")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) @@ -56,7 +56,7 @@ func TestRunCronExample(t *testing.T) { t.Run("cron-timer", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "files/cron-timer.yaml").Execute()).To(Succeed()) Eventually(IntegrationCronJob(ns, "cron-timer"), TestTimeoutMedium).ShouldNot(BeNil()) - Eventually(IntegrationCondition(ns, "cron-timer", v1.IntegrationConditionReady), TestTimeoutMedium).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "cron-timer", v1.IntegrationConditionReady), TestTimeoutMedium).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "cron-timer"), TestTimeoutMedium).Should(ContainSubstring("Magicstring!")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) @@ -64,7 +64,7 @@ func TestRunCronExample(t *testing.T) { t.Run("cron-fallback", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "files/cron-fallback.yaml").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "cron-fallback"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "cron-fallback", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "cron-fallback", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "cron-fallback"), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) @@ -72,7 +72,7 @@ func TestRunCronExample(t *testing.T) { t.Run("cron-quartz", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "files/cron-quartz.yaml").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "cron-quartz"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "cron-quartz", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "cron-quartz", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "cron-quartz"), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) diff --git a/e2e/common/integration_fail_test.go b/e2e/common/integration_fail_test.go index 4d4942c..55c4e43 100644 --- a/e2e/common/integration_fail_test.go +++ b/e2e/common/integration_fail_test.go @@ -44,7 +44,7 @@ func TestBadRouteIntegration(t *testing.T) { Expect(Kamel("run", "-n", ns, "files/BadRoute.java", "--name", name).Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, name), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) Eventually(IntegrationPhase(ns, name), TestTimeoutShort).Should(Equal(v1.IntegrationPhaseError)) - Eventually(IntegrationCondition(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionFalse)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionFalse)) // Make sure the Integration can be scaled Expect(ScaleIntegration(ns, name, 2)).To(Succeed()) diff --git a/e2e/common/kamelet_upgrade_test.go b/e2e/common/kamelet_upgrade_test.go index 5e7405f..a426f46 100644 --- a/e2e/common/kamelet_upgrade_test.go +++ b/e2e/common/kamelet_upgrade_test.go @@ -1,3 +1,4 @@ +//go:build integration // +build integration // To enable compilation of this file in Goland, go to "Settings -> Go -> Vendoring & Build Tags -> Custom Tags" and add "integration" @@ -25,9 +26,10 @@ import ( "testing" "time" + . "github.com/onsi/gomega" + . "github.com/apache/camel-k/e2e/support" "github.com/apache/camel-k/pkg/apis/camel/v1alpha1" - . "github.com/onsi/gomega" ) const preExistingKameletMarker = "pre-existing-kamelet" diff --git a/e2e/common/languages/groovy_test.go b/e2e/common/languages/groovy_test.go index 2bfb87a..72b7486 100644 --- a/e2e/common/languages/groovy_test.go +++ b/e2e/common/languages/groovy_test.go @@ -40,7 +40,7 @@ func TestRunSimpleGroovyExamples(t *testing.T) { t.Run("run groovy", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "files/groovy.groovy").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "groovy"), TestTimeoutMedium).Should(Equal(v1.PodRunning)) - Eventually(IntegrationCondition(ns, "groovy", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "groovy", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) Eventually(IntegrationLogs(ns, "groovy"), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) diff --git a/e2e/common/languages/java_test.go b/e2e/common/languages/java_test.go index 5e1f35e..60443bc 100644 --- a/e2e/common/languages/java_test.go +++ b/e2e/common/languages/java_test.go @@ -40,7 +40,7 @@ func TestRunSimpleJavaExamples(t *testing.T) { t.Run("run java", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "files/Java.java").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "java"), TestTimeoutMedium).Should(Equal(v1.PodRunning)) - Eventually(IntegrationCondition(ns, "java", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "java", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) Eventually(IntegrationLogs(ns, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) @@ -48,7 +48,7 @@ func TestRunSimpleJavaExamples(t *testing.T) { t.Run("run java with properties", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "files/Prop.java", "--property-file", "files/prop.properties").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "prop"), TestTimeoutMedium).Should(Equal(v1.PodRunning)) - Eventually(IntegrationCondition(ns, "prop", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "prop", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) Eventually(IntegrationLogs(ns, "prop"), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) diff --git a/e2e/common/languages/js_test.go b/e2e/common/languages/js_test.go index f90ee07..d59865a 100644 --- a/e2e/common/languages/js_test.go +++ b/e2e/common/languages/js_test.go @@ -40,7 +40,7 @@ func TestRunSimpleJavaScriptExamples(t *testing.T) { t.Run("run js", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "files/js.js").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "js"), TestTimeoutMedium).Should(Equal(v1.PodRunning)) - Eventually(IntegrationCondition(ns, "js", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "js", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) Eventually(IntegrationLogs(ns, "js"), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) diff --git a/e2e/common/languages/kotlin_test.go b/e2e/common/languages/kotlin_test.go index 0c8df4b..1073622 100644 --- a/e2e/common/languages/kotlin_test.go +++ b/e2e/common/languages/kotlin_test.go @@ -40,7 +40,7 @@ func TestRunSimpleKotlinExamples(t *testing.T) { t.Run("run kotlin", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "files/kotlin.kts").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "kotlin"), TestTimeoutMedium).Should(Equal(v1.PodRunning)) - Eventually(IntegrationCondition(ns, "kotlin", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "kotlin", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) Eventually(IntegrationLogs(ns, "kotlin"), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) diff --git a/e2e/common/languages/polyglot_test.go b/e2e/common/languages/polyglot_test.go index b34dd69..f333e8e 100644 --- a/e2e/common/languages/polyglot_test.go +++ b/e2e/common/languages/polyglot_test.go @@ -40,7 +40,7 @@ func TestRunPolyglotExamples(t *testing.T) { t.Run("run polyglot", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "--name", "polyglot", "files/js-polyglot.js", "files/yaml-polyglot.yaml").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "polyglot"), TestTimeoutMedium).Should(Equal(v1.PodRunning)) - Eventually(IntegrationCondition(ns, "polyglot", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "polyglot", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) Eventually(IntegrationLogs(ns, "polyglot"), TestTimeoutShort).Should(ContainSubstring("Magicpolyglot-yaml")) Eventually(IntegrationLogs(ns, "polyglot"), TestTimeoutShort).Should(ContainSubstring("Magicpolyglot-js")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) diff --git a/e2e/common/languages/xml_test.go b/e2e/common/languages/xml_test.go index dbcfb94..4f5523d 100644 --- a/e2e/common/languages/xml_test.go +++ b/e2e/common/languages/xml_test.go @@ -40,7 +40,7 @@ func TestRunSimpleXmlExamples(t *testing.T) { t.Run("run xml", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "files/xml.xml").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "xml"), TestTimeoutMedium).Should(Equal(v1.PodRunning)) - Eventually(IntegrationCondition(ns, "xml", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "xml", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) Eventually(IntegrationLogs(ns, "xml"), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) diff --git a/e2e/common/languages/yaml_test.go b/e2e/common/languages/yaml_test.go index 1884f66..fe0655f 100644 --- a/e2e/common/languages/yaml_test.go +++ b/e2e/common/languages/yaml_test.go @@ -40,7 +40,7 @@ func TestRunSimpleYamlExamples(t *testing.T) { t.Run("run yaml", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "files/yaml.yaml").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "yaml"), TestTimeoutMedium).Should(Equal(v1.PodRunning)) - Eventually(IntegrationCondition(ns, "yaml", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "yaml", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) Eventually(IntegrationLogs(ns, "yaml"), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) diff --git a/e2e/common/operator_id_filtering_test.go b/e2e/common/operator_id_filtering_test.go index 9473bf9..3fe2e6c 100644 --- a/e2e/common/operator_id_filtering_test.go +++ b/e2e/common/operator_id_filtering_test.go @@ -28,12 +28,14 @@ import ( "testing" "time" - . "github.com/apache/camel-k/e2e/support" - camelv1 "github.com/apache/camel-k/pkg/apis/camel/v1" - "github.com/apache/camel-k/pkg/util/openshift" . "github.com/onsi/gomega" "github.com/stretchr/testify/assert" + corev1 "k8s.io/api/core/v1" + + . "github.com/apache/camel-k/e2e/support" + v1 "github.com/apache/camel-k/pkg/apis/camel/v1" + "github.com/apache/camel-k/pkg/util/openshift" ) func TestOperatorIDFiltering(t *testing.T) { @@ -52,11 +54,11 @@ func TestOperatorIDFiltering(t *testing.T) { WithNewTestNamespace(t, func(nsop2 string) { Expect(Kamel("install", "-n", nsop1, "--operator-env-vars", "KAMEL_OPERATOR_ID=operator-1", "--global", "--force").Execute()).To(Succeed()) Expect(AssignPlatformToOperator(nsop1, "operator-1")).To(Succeed()) - Eventually(PlatformPhase(nsop1), TestTimeoutMedium).Should(Equal(camelv1.IntegrationPlatformPhaseReady)) + Eventually(PlatformPhase(nsop1), TestTimeoutMedium).Should(Equal(v1.IntegrationPlatformPhaseReady)) Expect(Kamel("install", "-n", nsop2, "--operator-env-vars", "KAMEL_OPERATOR_ID=operator-2", "--global", "--force").Execute()).To(Succeed()) Expect(AssignPlatformToOperator(nsop2, "operator-2")).To(Succeed()) - Eventually(PlatformPhase(nsop2), TestTimeoutMedium).Should(Equal(camelv1.IntegrationPlatformPhaseReady)) + Eventually(PlatformPhase(nsop2), TestTimeoutMedium).Should(Equal(v1.IntegrationPlatformPhaseReady)) t.Run("Operators ignore non-scoped integrations", func(t *testing.T) { RegisterTestingT(t) @@ -70,7 +72,7 @@ func TestOperatorIDFiltering(t *testing.T) { Expect(Kamel("run", "-n", ns, "files/yaml.yaml", "--name", "moving").Execute()).To(Succeed()) Expect(AssignIntegrationToOperator(ns, "moving", "operator-1")).To(Succeed()) - Eventually(IntegrationPhase(ns, "moving"), TestTimeoutMedium).Should(Equal(camelv1.IntegrationPhaseRunning)) + Eventually(IntegrationPhase(ns, "moving"), TestTimeoutMedium).Should(Equal(v1.IntegrationPhaseRunning)) Eventually(IntegrationPodPhase(ns, "moving"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) Eventually(IntegrationLogs(ns, "moving"), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) }) @@ -79,9 +81,9 @@ func TestOperatorIDFiltering(t *testing.T) { RegisterTestingT(t) Expect(AssignIntegrationToOperator(ns, "moving", "operator-2")).To(Succeed()) - Eventually(IntegrationPhase(ns, "moving"), TestTimeoutMedium).Should(Equal(camelv1.IntegrationPhaseRunning)) + Eventually(IntegrationPhase(ns, "moving"), TestTimeoutMedium).Should(Equal(v1.IntegrationPhaseRunning)) Expect(Kamel("rebuild", "-n", ns, "moving").Execute()).To(Succeed()) - Eventually(IntegrationPhase(ns, "moving"), TestTimeoutMedium).Should(Equal(camelv1.IntegrationPhaseRunning)) + Eventually(IntegrationPhase(ns, "moving"), TestTimeoutMedium).Should(Equal(v1.IntegrationPhaseRunning)) Eventually(IntegrationPodPhase(ns, "moving"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) Eventually(IntegrationLogs(ns, "moving"), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) }) @@ -91,7 +93,7 @@ func TestOperatorIDFiltering(t *testing.T) { Expect(ScaleOperator(nsop1, 0)).To(Succeed()) Expect(Kamel("rebuild", "-n", ns, "moving").Execute()).To(Succeed()) - Eventually(IntegrationPhase(ns, "moving"), TestTimeoutMedium).Should(Equal(camelv1.IntegrationPhaseRunning)) + Eventually(IntegrationPhase(ns, "moving"), TestTimeoutMedium).Should(Equal(v1.IntegrationPhaseRunning)) Eventually(IntegrationPodPhase(ns, "moving"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) Eventually(IntegrationLogs(ns, "moving"), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) Expect(ScaleOperator(nsop1, 1)).To(Succeed()) @@ -108,7 +110,7 @@ func TestOperatorIDFiltering(t *testing.T) { Expect(Kamel("run", "-n", ns, "files/yaml.yaml", "--name", "pre-built", "-t", fmt.Sprintf("container.image=%s", image)).Execute()).To(Succeed()) Consistently(IntegrationPhase(ns, "pre-built"), 10*time.Second).Should(BeEmpty()) Expect(AssignIntegrationToOperator(ns, "pre-built", "operator-2")).To(Succeed()) - Eventually(IntegrationPhase(ns, "pre-built"), TestTimeoutShort).Should(Equal(camelv1.IntegrationPhaseRunning)) + Eventually(IntegrationPhase(ns, "pre-built"), TestTimeoutShort).Should(Equal(v1.IntegrationPhaseRunning)) Eventually(IntegrationPodPhase(ns, "pre-built"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) Eventually(IntegrationLogs(ns, "pre-built"), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) Expect(Kamel("delete", "pre-built", "-n", ns).Execute()).To(Succeed()) @@ -122,10 +124,9 @@ func TestOperatorIDFiltering(t *testing.T) { Expect(AssignKameletBindingToOperator(ns, "klb", "operator-1")).To(Succeed()) Eventually(Integration(ns, "klb"), TestTimeoutShort).ShouldNot(BeNil()) - Eventually(IntegrationPhase(ns, "klb"), TestTimeoutMedium).Should(Equal(camelv1.IntegrationPhaseRunning)) + Eventually(IntegrationPhase(ns, "klb"), TestTimeoutMedium).Should(Equal(v1.IntegrationPhaseRunning)) Eventually(IntegrationPodPhase(ns, "klb"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) }) - }) }) diff --git a/e2e/common/operator_metrics_test.go b/e2e/common/operator_metrics_test.go index 214bf9b..8c2b8d9 100644 --- a/e2e/common/operator_metrics_test.go +++ b/e2e/common/operator_metrics_test.go @@ -51,7 +51,7 @@ func TestMetrics(t *testing.T) { "-t", "prometheus.enabled=true", "-t", "prometheus.pod-monitor=false").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, name), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) pod := OperatorPod(ns)() diff --git a/e2e/common/scale_binding_test.go b/e2e/common/scale_binding_test.go index 332d92e..49d9668 100644 --- a/e2e/common/scale_binding_test.go +++ b/e2e/common/scale_binding_test.go @@ -57,7 +57,7 @@ func TestKameletBindingScale(t *testing.T) { Expect(Kamel("install", "-n", ns, "-w").Execute()).To(Succeed()) Expect(Kamel("bind", "timer-source?message=HelloBinding", "log-sink", "-n", ns, "--name", name).Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, name), TestTimeoutLong).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(KameletBindingCondition(ns, name, v1alpha1.KameletBindingConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("HelloBinding")) @@ -73,7 +73,7 @@ func TestKameletBindingScale(t *testing.T) { Eventually(KameletBindingStatusReplicas(ns, name), TestTimeoutShort). Should(gstruct.PointTo(BeNumerically("==", 3))) // Check the readiness condition becomes truthy back - Eventually(IntegrationCondition(ns, name, v1.IntegrationConditionReady), TestTimeoutMedium).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutMedium).Should(Equal(corev1.ConditionTrue)) // Finally check the readiness condition becomes truthy back on kamelet binding Eventually(KameletBindingCondition(ns, name, v1alpha1.KameletBindingConditionReady), TestTimeoutMedium).Should(Equal(corev1.ConditionTrue)) }) @@ -130,7 +130,7 @@ func TestKameletBindingScale(t *testing.T) { Eventually(KameletBindingSpecReplicas(ns, name), TestTimeoutShort). Should(gstruct.PointTo(BeNumerically("==", 1))) // Check the readiness condition is still truthy as down-scaling - Expect(IntegrationCondition(ns, name, v1.IntegrationConditionReady)()).To(Equal(corev1.ConditionTrue)) + Expect(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady)()).To(Equal(corev1.ConditionTrue)) // Check the Integration scale subresource Spec field Eventually(IntegrationSpecReplicas(ns, name), TestTimeoutShort). Should(gstruct.PointTo(BeNumerically("==", 1))) diff --git a/e2e/common/scale_integration_test.go b/e2e/common/scale_integration_test.go index 1bd8e72..7863f9f 100644 --- a/e2e/common/scale_integration_test.go +++ b/e2e/common/scale_integration_test.go @@ -47,21 +47,21 @@ func TestIntegrationScale(t *testing.T) { Expect(Kamel("install", "-n", ns).Execute()).To(Succeed()) Expect(Kamel("run", "-n", ns, "files/Java.java", "--name", name).Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, name), TestTimeoutLong).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) t.Run("Update integration scale spec", func(t *testing.T) { RegisterTestingT(t) Expect(ScaleIntegration(ns, name, 3)).To(Succeed()) // Check the readiness condition becomes falsy - Eventually(IntegrationCondition(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionFalse)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionFalse)) // Check the scale cascades into the Deployment scale Eventually(IntegrationPods(ns, name), TestTimeoutShort).Should(HaveLen(3)) // Check it also cascades into the Integration scale subresource Status field Eventually(IntegrationStatusReplicas(ns, name), TestTimeoutShort). Should(gstruct.PointTo(BeNumerically("==", 3))) // Finally check the readiness condition becomes truthy back - Eventually(IntegrationCondition(ns, name, v1.IntegrationConditionReady), TestTimeoutMedium).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutMedium).Should(Equal(corev1.ConditionTrue)) }) t.Run("Scale integration with polymorphic client", func(t *testing.T) { @@ -80,7 +80,7 @@ func TestIntegrationScale(t *testing.T) { Expect(err).To(BeNil()) // Check the readiness condition is still truthy as down-scaling - Expect(IntegrationCondition(ns, name, v1.IntegrationConditionReady)()).To(Equal(corev1.ConditionTrue)) + Expect(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady)()).To(Equal(corev1.ConditionTrue)) // Check the Integration scale subresource Spec field Eventually(IntegrationSpecReplicas(ns, name), TestTimeoutShort). Should(gstruct.PointTo(BeNumerically("==", 2))) @@ -108,7 +108,7 @@ func TestIntegrationScale(t *testing.T) { Expect(err).To(BeNil()) // Check the readiness condition is still truthy as down-scaling - Expect(IntegrationCondition(ns, name, v1.IntegrationConditionReady)()).To(Equal(corev1.ConditionTrue)) + Expect(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady)()).To(Equal(corev1.ConditionTrue)) // Check the Integration scale subresource Spec field Eventually(IntegrationSpecReplicas(ns, name), TestTimeoutShort). Should(gstruct.PointTo(BeNumerically("==", 1))) diff --git a/e2e/common/secondary_platform_test.go b/e2e/common/secondary_platform_test.go index 55ef6c4..d904554 100644 --- a/e2e/common/secondary_platform_test.go +++ b/e2e/common/secondary_platform_test.go @@ -25,10 +25,12 @@ package common import ( "testing" - . "github.com/apache/camel-k/e2e/support" - v1 "github.com/apache/camel-k/pkg/apis/camel/v1" . "github.com/onsi/gomega" + corev1 "k8s.io/api/core/v1" + + . "github.com/apache/camel-k/e2e/support" + v1 "github.com/apache/camel-k/pkg/apis/camel/v1" ) func TestSecondaryPlatform(t *testing.T) { diff --git a/e2e/common/structured_logs_test.go b/e2e/common/structured_logs_test.go index e7afd72..8eef70c 100644 --- a/e2e/common/structured_logs_test.go +++ b/e2e/common/structured_logs_test.go @@ -40,7 +40,7 @@ func TestStructuredLogs(t *testing.T) { Expect(Kamel("run", "-n", ns, "files/Java.java", "-t", "logging.format=json").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, name), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) pod := OperatorPod(ns)() Expect(pod).NotTo(BeNil()) diff --git a/e2e/common/traits/affinity_test.go b/e2e/common/traits/affinity_test.go index 2ce04c1..d2f5131 100644 --- a/e2e/common/traits/affinity_test.go +++ b/e2e/common/traits/affinity_test.go @@ -28,11 +28,11 @@ import ( . "github.com/onsi/gomega" - v1 "k8s.io/api/core/v1" + corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" . "github.com/apache/camel-k/e2e/support" - camelv1 "github.com/apache/camel-k/pkg/apis/camel/v1" + v1 "github.com/apache/camel-k/pkg/apis/camel/v1" ) func TestAffinityTrait(t *testing.T) { @@ -53,14 +53,14 @@ func TestAffinityTrait(t *testing.T) { "--name", "java1", "-t", "affinity.enabled=true", "-t", fmt.Sprintf("affinity.node-affinity-labels=kubernetes.io/hostname in(%s)", hostname)).Execute()).To(Succeed()) - Eventually(IntegrationPodPhase(ns, "java1"), TestTimeoutLong).Should(Equal(v1.PodRunning)) - Eventually(IntegrationCondition(ns, "java1", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) + Eventually(IntegrationPodPhase(ns, "java1"), TestTimeoutLong).Should(Equal(corev1.PodRunning)) + Eventually(IntegrationConditionStatus(ns, "java1", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "java1"), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) pod := IntegrationPod(ns, "java1")() Expect(pod.Spec.Affinity).NotTo(BeNil()) - Expect(pod.Spec.Affinity.NodeAffinity).To(Equal(&v1.NodeAffinity{ - RequiredDuringSchedulingIgnoredDuringExecution: nodeSelector("kubernetes.io/hostname", v1.NodeSelectorOpIn, hostname), + Expect(pod.Spec.Affinity.NodeAffinity).To(Equal(&corev1.NodeAffinity{ + RequiredDuringSchedulingIgnoredDuringExecution: nodeSelector("kubernetes.io/hostname", corev1.NodeSelectorOpIn, hostname), })) Expect(pod.Spec.NodeName).To(Equal(hostname)) @@ -73,14 +73,14 @@ func TestAffinityTrait(t *testing.T) { "--name", "java2", "-t", "affinity.enabled=true", "-t", "affinity.pod-affinity-labels=camel.apache.org/integration").Execute()).To(Succeed()) - Eventually(IntegrationPodPhase(ns, "java2"), TestTimeoutLong).Should(Equal(v1.PodRunning)) - Eventually(IntegrationCondition(ns, "java2", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) + Eventually(IntegrationPodPhase(ns, "java2"), TestTimeoutLong).Should(Equal(corev1.PodRunning)) + Eventually(IntegrationConditionStatus(ns, "java2", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "java2"), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) pod := IntegrationPod(ns, "java2")() Expect(pod.Spec.Affinity).NotTo(BeNil()) - Expect(pod.Spec.Affinity.PodAffinity).To(Equal(&v1.PodAffinity{ - RequiredDuringSchedulingIgnoredDuringExecution: []v1.PodAffinityTerm{ + Expect(pod.Spec.Affinity.PodAffinity).To(Equal(&corev1.PodAffinity{ + RequiredDuringSchedulingIgnoredDuringExecution: []corev1.PodAffinityTerm{ podAffinityTerm("camel.apache.org/integration", metav1.LabelSelectorOpExists, "kubernetes.io/hostname"), }, })) @@ -93,14 +93,14 @@ func TestAffinityTrait(t *testing.T) { "--name", "java3", "-t", "affinity.enabled=true", "-t", "affinity.pod-anti-affinity-labels=camel.apache.org/integration").Execute()).To(Succeed()) - Eventually(IntegrationPodPhase(ns, "java3"), TestTimeoutLong).Should(Equal(v1.PodRunning)) - Eventually(IntegrationCondition(ns, "java3", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) + Eventually(IntegrationPodPhase(ns, "java3"), TestTimeoutLong).Should(Equal(corev1.PodRunning)) + Eventually(IntegrationConditionStatus(ns, "java3", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "java3"), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) pod := IntegrationPod(ns, "java3")() Expect(pod.Spec.Affinity).NotTo(BeNil()) - Expect(pod.Spec.Affinity.PodAntiAffinity).To(Equal(&v1.PodAntiAffinity{ - RequiredDuringSchedulingIgnoredDuringExecution: []v1.PodAffinityTerm{ + Expect(pod.Spec.Affinity.PodAntiAffinity).To(Equal(&corev1.PodAntiAffinity{ + RequiredDuringSchedulingIgnoredDuringExecution: []corev1.PodAffinityTerm{ podAffinityTerm("camel.apache.org/integration", metav1.LabelSelectorOpExists, "kubernetes.io/hostname"), }, })) @@ -110,7 +110,7 @@ func TestAffinityTrait(t *testing.T) { }) } -func selectSchedulableNode() (*v1.Node, error) { +func selectSchedulableNode() (*corev1.Node, error) { nodes, err := TestClient().CoreV1().Nodes().List(TestContext, metav1.ListOptions{}) if err != nil { return nil, err @@ -123,11 +123,11 @@ func selectSchedulableNode() (*v1.Node, error) { return nil, fmt.Errorf("no node available") } -func nodeSelector(key string, operator v1.NodeSelectorOperator, value string) *v1.NodeSelector { - return &v1.NodeSelector{ - NodeSelectorTerms: []v1.NodeSelectorTerm{ +func nodeSelector(key string, operator corev1.NodeSelectorOperator, value string) *corev1.NodeSelector { + return &corev1.NodeSelector{ + NodeSelectorTerms: []corev1.NodeSelectorTerm{ { - MatchExpressions: []v1.NodeSelectorRequirement{ + MatchExpressions: []corev1.NodeSelectorRequirement{ { Key: key, Operator: operator, @@ -139,8 +139,8 @@ func nodeSelector(key string, operator v1.NodeSelectorOperator, value string) *v } } -func podAffinityTerm(key string, operator metav1.LabelSelectorOperator, topologyKey string) v1.PodAffinityTerm { - return v1.PodAffinityTerm{ +func podAffinityTerm(key string, operator metav1.LabelSelectorOperator, topologyKey string) corev1.PodAffinityTerm { + return corev1.PodAffinityTerm{ LabelSelector: &metav1.LabelSelector{ MatchExpressions: []metav1.LabelSelectorRequirement{ { diff --git a/e2e/common/traits/error_handler_test.go b/e2e/common/traits/error_handler_test.go index a82f95c..db001e0 100644 --- a/e2e/common/traits/error_handler_test.go +++ b/e2e/common/traits/error_handler_test.go @@ -27,10 +27,10 @@ import ( . "github.com/onsi/gomega" - v1 "k8s.io/api/core/v1" + corev1 "k8s.io/api/core/v1" . "github.com/apache/camel-k/e2e/support" - camelv1 "github.com/apache/camel-k/pkg/apis/camel/v1" + v1 "github.com/apache/camel-k/pkg/apis/camel/v1" ) func TestErrorHandlerTrait(t *testing.T) { @@ -46,8 +46,8 @@ func TestErrorHandlerTrait(t *testing.T) { "-p", "camel.beans.defaultErrorHandler=#class:org.apache.camel.builder.DeadLetterChannelBuilder", "-p", "camel.beans.defaultErrorHandler.deadLetterUri=log:my-special-error-handler-in-place?level=ERROR&showCaughtException=false&showBody=false&showBodyType=false&showExchangePattern=false", ).Execute()).To(Succeed()) - Eventually(IntegrationPodPhase(ns, name), TestTimeoutMedium).Should(Equal(v1.PodRunning)) - Eventually(IntegrationCondition(ns, name, camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) + Eventually(IntegrationPodPhase(ns, name), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, name), TestTimeoutShort).ShouldNot(ContainSubstring("InvalidPayloadException")) Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("my-special-error-handler-in-place")) }) diff --git a/e2e/common/traits/health_test.go b/e2e/common/traits/health_test.go new file mode 100644 index 0000000..9f2520a --- /dev/null +++ b/e2e/common/traits/health_test.go @@ -0,0 +1,88 @@ +//go:build integration +// +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 ( + "encoding/json" + "fmt" + "testing" + + . "github.com/onsi/gomega" + + corev1 "k8s.io/api/core/v1" + + . "github.com/apache/camel-k/e2e/support" + v1 "github.com/apache/camel-k/pkg/apis/camel/v1" +) + +func TestHealthTrait(t *testing.T) { + WithNewTestNamespace(t, func(ns string) { + Expect(Kamel("install", "-n", ns).Execute()).To(Succeed()) + + t.Run("Readiness condition with stopped route", func(t *testing.T) { + Expect(Kamel("run", "-n", ns, "files/Java.java", + "-t", "health.enabled=true", + // Enable Jolokia for the test to stop the Camel route + "-t", "jolokia.enabled=true", + "-t", "jolokia.use-ssl-client-authentication=false", + "-t", "jolokia.protocol=http", + ).Execute()).To(Succeed()) + + Eventually(IntegrationPodPhase(ns, "java"), TestTimeoutLong).Should(Equal(corev1.PodRunning)) + Eventually(IntegrationPhase(ns, "java"), TestTimeoutShort).Should(Equal(v1.IntegrationPhaseRunning)) + Eventually(IntegrationConditionStatus(ns, "java", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationLogs(ns, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) + + pod := IntegrationPod(ns, "java")() + + // Stop the Camel route + request := map[string]string{ + "type": "exec", + "mbean": "org.apache.camel:context=camel-1,name=\"route1\",type=routes", + "operation": "stop()", + } + body, err := json.Marshal(request) + Expect(err).To(BeNil()) + + response, err := TestClient().CoreV1().RESTClient().Post(). + AbsPath(fmt.Sprintf("/api/v1/namespaces/%s/pods/%s/proxy/jolokia/", ns, pod.Name)). + Body(body). + DoRaw(TestContext) + Expect(err).To(BeNil()) + Expect(response).To(ContainSubstring(`"status":200`)) + + // Check the ready condition has turned falsy + Eventually(IntegrationConditionStatus(ns, "java", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionFalse)) + // And it contains details about the runtime state + Eventually(IntegrationCondition(ns, "java", v1.IntegrationConditionReady)).Should(And( + WithTransform(IntegrationConditionReason, Equal(v1.IntegrationConditionRuntimeNotReadyReason)), + WithTransform(IntegrationConditionMessage, Equal(fmt.Sprintf("[Pod %s runtime is not ready: map[context:UP route:route1:DOWN]]", pod.Name))), + )) + // Check the Integration is still in running phase + Eventually(IntegrationPhase(ns, "java"), TestTimeoutShort).Should(Equal(v1.IntegrationPhaseRunning)) + + // Clean-up + Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) + }) + }) +} diff --git a/e2e/common/traits/istio_test.go b/e2e/common/traits/istio_test.go index 8261f61..39f3d77 100644 --- a/e2e/common/traits/istio_test.go +++ b/e2e/common/traits/istio_test.go @@ -27,10 +27,10 @@ import ( . "github.com/onsi/gomega" - v1 "k8s.io/api/core/v1" + corev1 "k8s.io/api/core/v1" . "github.com/apache/camel-k/e2e/support" - camelv1 "github.com/apache/camel-k/pkg/apis/camel/v1" + v1 "github.com/apache/camel-k/pkg/apis/camel/v1" ) func TestIstioTrait(t *testing.T) { @@ -40,8 +40,8 @@ func TestIstioTrait(t *testing.T) { t.Run("Run Java with Istio", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "files/Java.java", "-t", "istio.enabled=true").Execute()).To(Succeed()) - Eventually(IntegrationPodPhase(ns, "java"), TestTimeoutLong).Should(Equal(v1.PodRunning)) - Eventually(IntegrationCondition(ns, "java", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) + Eventually(IntegrationPodPhase(ns, "java"), TestTimeoutLong).Should(Equal(corev1.PodRunning)) + Eventually(IntegrationConditionStatus(ns, "java", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) pod := IntegrationPod(ns, "java")() diff --git a/e2e/common/traits/jolokia_test.go b/e2e/common/traits/jolokia_test.go index da97d84..cbad27f 100644 --- a/e2e/common/traits/jolokia_test.go +++ b/e2e/common/traits/jolokia_test.go @@ -28,10 +28,10 @@ import ( . "github.com/onsi/gomega" - v1 "k8s.io/api/core/v1" + corev1 "k8s.io/api/core/v1" . "github.com/apache/camel-k/e2e/support" - camelv1 "github.com/apache/camel-k/pkg/apis/camel/v1" + v1 "github.com/apache/camel-k/pkg/apis/camel/v1" ) func TestJolokiaTrait(t *testing.T) { @@ -44,8 +44,8 @@ func TestJolokiaTrait(t *testing.T) { "-t", "jolokia.use-ssl-client-authentication=false", "-t", "jolokia.protocol=http", "-t", "jolokia.extended-client-check=false").Execute()).To(Succeed()) - Eventually(IntegrationPodPhase(ns, "java"), TestTimeoutLong).Should(Equal(v1.PodRunning)) - Eventually(IntegrationCondition(ns, "java", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) + Eventually(IntegrationPodPhase(ns, "java"), TestTimeoutLong).Should(Equal(corev1.PodRunning)) + Eventually(IntegrationConditionStatus(ns, "java", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) pod := IntegrationPod(ns, "java") diff --git a/e2e/common/traits/jvm_test.go b/e2e/common/traits/jvm_test.go index b5701f8..00d08b8 100644 --- a/e2e/common/traits/jvm_test.go +++ b/e2e/common/traits/jvm_test.go @@ -29,10 +29,10 @@ import ( . "github.com/onsi/gomega" "github.com/stretchr/testify/assert" - v1 "k8s.io/api/core/v1" + corev1 "k8s.io/api/core/v1" . "github.com/apache/camel-k/e2e/support" - camelv1 "github.com/apache/camel-k/pkg/apis/camel/v1" + v1 "github.com/apache/camel-k/pkg/apis/camel/v1" ) func TestJVMTrait(t *testing.T) { @@ -53,8 +53,8 @@ func TestJVMTrait(t *testing.T) { "--resource", "configmap:my-deps", "-t", "jvm.classpath=/etc/camel/resources/my-deps/sample-1.0.jar", ).Execute()).To(Succeed()) - Eventually(IntegrationPodPhase(ns, "classpath"), TestTimeoutMedium).Should(Equal(v1.PodRunning)) - Eventually(IntegrationCondition(ns, "classpath", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) + Eventually(IntegrationPodPhase(ns, "classpath"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) + Eventually(IntegrationConditionStatus(ns, "classpath", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "classpath"), TestTimeoutShort).Should(ContainSubstring("Hello World!")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) diff --git a/e2e/common/traits/master_test.go b/e2e/common/traits/master_test.go index e9cff03..23696a5 100644 --- a/e2e/common/traits/master_test.go +++ b/e2e/common/traits/master_test.go @@ -28,7 +28,7 @@ import ( . "github.com/onsi/gomega" - v1 "k8s.io/api/core/v1" + corev1 "k8s.io/api/core/v1" . "github.com/apache/camel-k/e2e/support" ) @@ -39,7 +39,7 @@ func TestMasterTrait(t *testing.T) { t.Run("master works", func(t *testing.T) { Expect(Kamel("run", "-n", ns, "files/Master.java").Execute()).To(Succeed()) - Eventually(IntegrationPodPhase(ns, "master"), TestTimeoutMedium).Should(Equal(v1.PodRunning)) + Eventually(IntegrationPodPhase(ns, "master"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) Eventually(IntegrationLogs(ns, "master"), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) @@ -51,7 +51,7 @@ func TestMasterTrait(t *testing.T) { "-t", "master.label-key=leader-group", "-t", "master.label-value=same", "-t", "owner.target-labels=leader-group").Execute()).To(Succeed()) - Eventually(IntegrationPodPhase(ns, "first"), TestTimeoutMedium).Should(Equal(v1.PodRunning)) + Eventually(IntegrationPodPhase(ns, "first"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) Eventually(IntegrationLogs(ns, "first"), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) // Start a second integration with the same lock (it should not start the route) Expect(Kamel("run", "-n", ns, "files/Master.java", @@ -61,7 +61,7 @@ func TestMasterTrait(t *testing.T) { "-t", "master.label-value=same", "-t", "master.configmap=first-lock", "-t", "owner.target-labels=leader-group").Execute()).To(Succeed()) - Eventually(IntegrationPodPhase(ns, "second"), TestTimeoutMedium).Should(Equal(v1.PodRunning)) + Eventually(IntegrationPodPhase(ns, "second"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) Eventually(IntegrationLogs(ns, "second"), TestTimeoutShort).Should(ContainSubstring("started in")) Eventually(IntegrationLogs(ns, "second"), 30*time.Second).ShouldNot(ContainSubstring("Magicstring!")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) diff --git a/e2e/common/traits/pdb_test.go b/e2e/common/traits/pdb_test.go index 17aa117..fede225 100644 --- a/e2e/common/traits/pdb_test.go +++ b/e2e/common/traits/pdb_test.go @@ -52,7 +52,7 @@ func TestPodDisruptionBudgetTrait(t *testing.T) { ).Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, name), TestTimeoutLong).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) // Check PodDisruptionBudget @@ -77,7 +77,7 @@ func TestPodDisruptionBudgetTrait(t *testing.T) { Eventually(IntegrationPods(ns, name), TestTimeoutMedium).Should(HaveLen(2)) Eventually(IntegrationStatusReplicas(ns, name), TestTimeoutShort). Should(PointTo(BeNumerically("==", 2))) - Eventually(IntegrationCondition(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) // Check PodDisruptionBudget pdb = podDisruptionBudget(ns, name)() @@ -125,7 +125,7 @@ func TestPodDisruptionBudgetTrait(t *testing.T) { Eventually(IntegrationPods(ns, name), TestTimeoutMedium).Should(HaveLen(3)) Eventually(IntegrationStatusReplicas(ns, name), TestTimeoutShort). Should(PointTo(BeNumerically("==", 3))) - Eventually(IntegrationCondition(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) pods = IntegrationPods(ns, name)() Expect(pods).To(HaveLen(3)) diff --git a/e2e/common/traits/pod_test.go b/e2e/common/traits/pod_test.go index eee5635..1fa8025 100644 --- a/e2e/common/traits/pod_test.go +++ b/e2e/common/traits/pod_test.go @@ -44,7 +44,7 @@ func TestPodTrait(t *testing.T) { // check integration is deployed Eventually(IntegrationPodPhase(ns, name), TestTimeoutLong).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) // check that integrations is working and reading data created by sidecar container Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("Content from the sidecar container")) diff --git a/e2e/common/traits/prometheus_test.go b/e2e/common/traits/prometheus_test.go index 753a483..0fe5ad2 100644 --- a/e2e/common/traits/prometheus_test.go +++ b/e2e/common/traits/prometheus_test.go @@ -29,7 +29,7 @@ import ( . "github.com/onsi/gomega" "github.com/stretchr/testify/assert" - v1 "k8s.io/api/core/v1" + corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/errors" ctrl "sigs.k8s.io/controller-runtime/pkg/client" @@ -37,7 +37,7 @@ import ( monitoringv1 "github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1" . "github.com/apache/camel-k/e2e/support" - camelv1 "github.com/apache/camel-k/pkg/apis/camel/v1" + v1 "github.com/apache/camel-k/pkg/apis/camel/v1" "github.com/apache/camel-k/pkg/util/openshift" ) @@ -54,8 +54,8 @@ func TestPrometheusTrait(t *testing.T) { Expect(Kamel("run", "-n", ns, "files/Java.java", "-t", "prometheus.enabled=true", "-t", fmt.Sprintf("prometheus.pod-monitor=%v", createPodMonitor)).Execute()).To(Succeed()) - Eventually(IntegrationPodPhase(ns, "java"), TestTimeoutLong).Should(Equal(v1.PodRunning)) - Eventually(IntegrationCondition(ns, "java", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) + Eventually(IntegrationPodPhase(ns, "java"), TestTimeoutLong).Should(Equal(corev1.PodRunning)) + Eventually(IntegrationConditionStatus(ns, "java", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) t.Run("Metrics endpoint works", func(t *testing.T) { diff --git a/e2e/common/traits/pull_secret_test.go b/e2e/common/traits/pull_secret_test.go index 430b5f8..0648842 100644 --- a/e2e/common/traits/pull_secret_test.go +++ b/e2e/common/traits/pull_secret_test.go @@ -27,10 +27,10 @@ import ( . "github.com/onsi/gomega" - v1 "k8s.io/api/core/v1" + corev1 "k8s.io/api/core/v1" . "github.com/apache/camel-k/e2e/support" - camelv1 "github.com/apache/camel-k/pkg/apis/camel/v1" + v1 "github.com/apache/camel-k/pkg/apis/camel/v1" "github.com/apache/camel-k/pkg/util/openshift" ) @@ -47,7 +47,7 @@ func TestPullSecretTrait(t *testing.T) { "-t", "pull-secret.enabled=true", "-t", "pull-secret.secret-name=dummy-secret").Execute()).To(Succeed()) // pod may not run because the pull secret is dummy - Eventually(IntegrationPodPhase(ns, name), TestTimeoutLong).Should(Or(Equal(v1.PodRunning), Equal(v1.PodPending))) + Eventually(IntegrationPodPhase(ns, name), TestTimeoutLong).Should(Or(Equal(corev1.PodRunning), Equal(corev1.PodPending))) pod := IntegrationPod(ns, name)() Expect(pod.Spec.ImagePullSecrets).NotTo(BeEmpty()) @@ -58,8 +58,8 @@ func TestPullSecretTrait(t *testing.T) { name := "java2" Expect(Kamel("run", "-n", ns, "files/Java.java", "--name", name, "-t", "pull-secret.enabled=false").Execute()).To(Succeed()) - Eventually(IntegrationPodPhase(ns, name), TestTimeoutLong).Should(Equal(v1.PodRunning)) - Eventually(IntegrationCondition(ns, name, camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) + Eventually(IntegrationPodPhase(ns, name), TestTimeoutLong).Should(Equal(corev1.PodRunning)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) pod := IntegrationPod(ns, name)() @@ -76,8 +76,8 @@ func TestPullSecretTrait(t *testing.T) { t.Run("Image pull secret is automatically set by default", func(t *testing.T) { name := "java3" Expect(Kamel("run", "-n", ns, "files/Java.java", "--name", name).Execute()).To(Succeed()) - Eventually(IntegrationPodPhase(ns, name), TestTimeoutLong).Should(Equal(v1.PodRunning)) - Eventually(IntegrationCondition(ns, name, camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) + Eventually(IntegrationPodPhase(ns, name), TestTimeoutLong).Should(Equal(corev1.PodRunning)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) pod := IntegrationPod(ns, name)() diff --git a/e2e/common/traits/toleration_test.go b/e2e/common/traits/toleration_test.go index c809a09..a58eaaf 100644 --- a/e2e/common/traits/toleration_test.go +++ b/e2e/common/traits/toleration_test.go @@ -28,11 +28,11 @@ import ( . "github.com/onsi/gomega" . "github.com/onsi/gomega/gstruct" - v1 "k8s.io/api/core/v1" + corev1 "k8s.io/api/core/v1" "k8s.io/utils/pointer" . "github.com/apache/camel-k/e2e/support" - camelv1 "github.com/apache/camel-k/pkg/apis/camel/v1" + v1 "github.com/apache/camel-k/pkg/apis/camel/v1" ) func TestTolerationTrait(t *testing.T) { @@ -46,17 +46,17 @@ func TestTolerationTrait(t *testing.T) { "-t", "toleration.enabled=true", "-t", "toleration.taints=camel.apache.org/master:NoExecute:300", ).Execute()).To(Succeed()) - Eventually(IntegrationPodPhase(ns, name), TestTimeoutMedium).Should(Equal(v1.PodRunning)) - Eventually(IntegrationCondition(ns, name, camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) + Eventually(IntegrationPodPhase(ns, name), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) pod := IntegrationPod(ns, name)() Expect(pod.Spec.Tolerations).NotTo(BeNil()) - Expect(pod.Spec.Tolerations).To(ContainElement(v1.Toleration{ + Expect(pod.Spec.Tolerations).To(ContainElement(corev1.Toleration{ Key: "camel.apache.org/master", - Operator: v1.TolerationOpExists, - Effect: v1.TaintEffectNoExecute, + Operator: corev1.TolerationOpExists, + Effect: corev1.TaintEffectNoExecute, TolerationSeconds: pointer.Int64Ptr(300), })) }) @@ -68,17 +68,17 @@ func TestTolerationTrait(t *testing.T) { "-t", "toleration.enabled=true", "-t", "toleration.taints=camel.apache.org/master=test:NoExecute:300", ).Execute()).To(Succeed()) - Eventually(IntegrationPodPhase(ns, name), TestTimeoutMedium).Should(Equal(v1.PodRunning)) - Eventually(IntegrationCondition(ns, name, camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) + Eventually(IntegrationPodPhase(ns, name), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) pod := IntegrationPod(ns, name)() Expect(pod.Spec.Tolerations).NotTo(BeNil()) - Expect(pod.Spec.Tolerations).To(ContainElement(v1.Toleration{ + Expect(pod.Spec.Tolerations).To(ContainElement(corev1.Toleration{ Key: "camel.apache.org/master", - Operator: v1.TolerationOpEqual, - Value: "test", Effect: v1.TaintEffectNoExecute, + Operator: corev1.TolerationOpEqual, + Value: "test", Effect: corev1.TaintEffectNoExecute, TolerationSeconds: pointer.Int64Ptr(300), })) }) @@ -99,27 +99,27 @@ func TestTolerationTrait(t *testing.T) { "-t", "toleration.taints=node-role.kubernetes.io/master:NoSchedule", ).Execute()).To(Succeed()) - Eventually(IntegrationPodPhase(ns, name), TestTimeoutMedium).Should(Equal(v1.PodRunning)) - Eventually(IntegrationCondition(ns, name, camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) + Eventually(IntegrationPodPhase(ns, name), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) pod := IntegrationPod(ns, name)() Expect(pod).NotTo(BeNil()) // Check the Integration pod contains the toleration - Expect(pod.Spec.Tolerations).To(ContainElement(v1.Toleration{ + Expect(pod.Spec.Tolerations).To(ContainElement(corev1.Toleration{ Key: "node-role.kubernetes.io/master", - Operator: v1.TolerationOpExists, - Effect: v1.TaintEffectNoSchedule, + Operator: corev1.TolerationOpExists, + Effect: corev1.TaintEffectNoSchedule, })) // Check the Integration pod is running on a master node Expect(Node(pod.Spec.NodeName)()).NotTo(BeNil()) Expect(Node(pod.Spec.NodeName)()).To(PointTo(MatchFields(IgnoreExtras, Fields{ "Spec": MatchFields(IgnoreExtras, Fields{ - "Taints": ContainElement(v1.Taint{ + "Taints": ContainElement(corev1.Taint{ Key: "node-role.kubernetes.io/master", - Effect: v1.TaintEffectNoSchedule, + Effect: corev1.TaintEffectNoSchedule, }), }), }))) diff --git a/e2e/knative/kamelet_test.go b/e2e/knative/kamelet_test.go index 55ea055..7a68f6d 100644 --- a/e2e/knative/kamelet_test.go +++ b/e2e/knative/kamelet_test.go @@ -56,12 +56,12 @@ func TestKameletChange(t *testing.T) { } Expect(BindKameletTo(ns, "timer-binding", from, to, map[string]string{"message": "message is Hello"}, map[string]string{})()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "timer-binding"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "timer-binding", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "timer-binding", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "display"), TestTimeoutShort).Should(ContainSubstring("message is Hello")) Expect(BindKameletTo(ns, "timer-binding", from, to, map[string]string{"message": "message is Hi"}, map[string]string{})()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "timer-binding"), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "timer-binding", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "timer-binding", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "display"), TestTimeoutShort).Should(ContainSubstring("message is Hi")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) diff --git a/e2e/knative/knative_test.go b/e2e/knative/knative_test.go index a849415..fe1e6f9 100644 --- a/e2e/knative/knative_test.go +++ b/e2e/knative/knative_test.go @@ -39,13 +39,13 @@ func TestRunServiceCombo(t *testing.T) { Expect(Kamel("install", "-n", ns, "--trait-profile", "knative").Execute()).To(Succeed()) Expect(Kamel("run", "-n", ns, "files/knative2.groovy").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "knative2"), TestTimeoutLong).Should(Equal(v1.PodRunning)) - Eventually(IntegrationCondition(ns, "knative2", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "knative2", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) Expect(Kamel("run", "-n", ns, "files/knative3.groovy").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "knative3"), TestTimeoutLong).Should(Equal(v1.PodRunning)) - Eventually(IntegrationCondition(ns, "knative3", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "knative3", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) Expect(Kamel("run", "-n", ns, "files/knative1.groovy").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "knative1"), TestTimeoutLong).Should(Equal(v1.PodRunning)) - Eventually(IntegrationCondition(ns, "knative1", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "knative1", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) // Correct logs Eventually(IntegrationLogs(ns, "knative1"), TestTimeoutMedium).Should(ContainSubstring("Received from 2: Hello from knative2")) Eventually(IntegrationLogs(ns, "knative1"), TestTimeoutMedium).Should(ContainSubstring("Received from 3: Hello from knative3")) @@ -123,7 +123,7 @@ func TestRunFlow(t *testing.T) { Expect(Kamel("install", "-n", ns, "--trait-profile", "knative").Execute()).To(Succeed()) Expect(Kamel("run", "-n", ns, "files/flow.yaml").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "flow"), TestTimeoutLong).Should(Equal(v1.PodRunning)) - Eventually(IntegrationCondition(ns, "flow", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "flow", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionTrue)) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) } diff --git a/e2e/knative/pod_test.go b/e2e/knative/pod_test.go index f2e9c27..46e750e 100644 --- a/e2e/knative/pod_test.go +++ b/e2e/knative/pod_test.go @@ -39,10 +39,10 @@ func TestPodTraitWithKnative(t *testing.T) { Expect(Kamel("run", "-n", ns, "files/podtest-knative2.groovy", "--pod-template", "files/template-knative.yaml").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "podtest-knative2"), TestTimeoutLong).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "podtest-knative2", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "podtest-knative2", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Expect(Kamel("run", "-n", ns, "files/podtest-knative1.groovy").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, "podtest-knative1"), TestTimeoutLong).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, "podtest-knative1", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, "podtest-knative1", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, "podtest-knative1"), TestTimeoutShort).Should(ContainSubstring("hello from the template")) }) diff --git a/e2e/native/native_test.go b/e2e/native/native_test.go index b6b806e..b740106 100644 --- a/e2e/native/native_test.go +++ b/e2e/native/native_test.go @@ -53,7 +53,7 @@ func TestNativeIntegrations(t *testing.T) { ).Execute()).To(Succeed()) Eventually(IntegrationPhase(ns, name)).Should(Equal(v1.IntegrationPhaseError)) - Eventually(IntegrationCondition(ns, name, v1.IntegrationConditionKitAvailable)).Should(Equal(corev1.ConditionFalse)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionKitAvailable)).Should(Equal(corev1.ConditionFalse)) }) t.Run("automatic rollout deployment from fast-jar to native kit", func(t *testing.T) { @@ -79,7 +79,7 @@ func TestNativeIntegrations(t *testing.T) { // Check the Integration is ready Eventually(IntegrationPodPhase(ns, name), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) @@ -95,7 +95,7 @@ func TestNativeIntegrations(t *testing.T) { // Check the Integration is still ready Eventually(IntegrationPodPhase(ns, name), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("Magicstring!")) }) diff --git a/e2e/service-binding/service_binding_test.go b/e2e/service-binding/service_binding_test.go index 484d013..c057939 100644 --- a/e2e/service-binding/service_binding_test.go +++ b/e2e/service-binding/service_binding_test.go @@ -72,7 +72,7 @@ func TestServiceBindingTrait(t *testing.T) { ).Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, name), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring(fmt.Sprintf("%s:%s", host, port))) // Clean up diff --git a/e2e/support/test_support.go b/e2e/support/test_support.go index 2ffa9ce..9147233 100644 --- a/e2e/support/test_support.go +++ b/e2e/support/test_support.go @@ -424,15 +424,39 @@ func IntegrationStatusReplicas(ns string, name string) func() *int32 { } } -func IntegrationCondition(ns string, name string, conditionType v1.IntegrationConditionType) func() corev1.ConditionStatus { - return func() corev1.ConditionStatus { +func IntegrationCondition(ns string, name string, conditionType v1.IntegrationConditionType) func() *v1.IntegrationCondition { + return func() *v1.IntegrationCondition { it := Integration(ns, name)() if it == nil { - return "IntegrationMissing" + return nil } c := it.Status.GetCondition(conditionType) if c == nil { - return "ConditionMissing" + return nil + } + return c + } +} + +func IntegrationConditionReason(c *v1.IntegrationCondition) string { + if c == nil { + return "" + } + return c.Reason +} + +func IntegrationConditionMessage(c *v1.IntegrationCondition) string { + if c == nil { + return "" + } + return c.Message +} + +func IntegrationConditionStatus(ns string, name string, conditionType v1.IntegrationConditionType) func() corev1.ConditionStatus { + return func() corev1.ConditionStatus { + c := IntegrationCondition(ns, name, conditionType)() + if c == nil { + return "Unknown" } return c.Status } diff --git a/e2e/upgrade/cli_upgrade_test.go b/e2e/upgrade/cli_upgrade_test.go index 2f745a9..65415bb 100644 --- a/e2e/upgrade/cli_upgrade_test.go +++ b/e2e/upgrade/cli_upgrade_test.go @@ -66,7 +66,7 @@ func TestOperatorUpgrade(t *testing.T) { name := "yaml" Expect(Kamel("run", "-n", ns, "files/yaml.yaml").Execute()).To(Succeed()) Eventually(IntegrationPodPhase(ns, name), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) // Check the Integration version Eventually(IntegrationVersion(ns, name)).Should(Equal(version)) @@ -111,7 +111,7 @@ func TestOperatorUpgrade(t *testing.T) { // Check the Integration runs correctly Eventually(IntegrationPodPhase(ns, name), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) // Clean up Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) diff --git a/e2e/upgrade/olm_upgrade_test.go b/e2e/upgrade/olm_upgrade_test.go index 9da68a1..9c7856f 100644 --- a/e2e/upgrade/olm_upgrade_test.go +++ b/e2e/upgrade/olm_upgrade_test.go @@ -109,7 +109,7 @@ func TestOLMAutomaticUpgrade(t *testing.T) { Expect(Kamel("run", "-n", ns, "files/yaml.yaml").Execute()).To(Succeed()) // Check the Integration runs correctly Eventually(IntegrationPodPhase(ns, name), TestTimeoutMedium).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) // Check the Integration version matches that of the current operator Expect(IntegrationVersion(ns, name)()).To(ContainSubstring(prevIPVersionPrefix)) @@ -182,7 +182,7 @@ func TestOLMAutomaticUpgrade(t *testing.T) { // Check the Integration runs correctly Eventually(IntegrationPodPhase(ns, name)).Should(Equal(corev1.PodRunning)) - Eventually(IntegrationCondition(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) + Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue)) // Clean up Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed())