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())

Reply via email to