You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by cd...@apache.org on 2024/03/08 19:35:57 UTC
(camel-k) 04/10: chore(e2e): Use operator instance per package in common tests
This is an automated email from the ASF dual-hosted git repository.
cdeppisch pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-k.git
commit 19199b2ec8030ba225834095d470f20245d359c3
Author: Christoph Deppisch <cd...@redhat.com>
AuthorDate: Mon Mar 4 11:05:45 2024 +0100
chore(e2e): Use operator instance per package in common tests
- Gain execution speed on GitHub CI jobs
- Custom Kamelets creation need to use proper operatorID
---
e2e/advanced/build_order_strategy_test.go | 2 +-
e2e/advanced/incremental_build_test.go | 5 +-
e2e/advanced/main_test.go | 5 ++
e2e/advanced/promote_test.go | 8 +--
e2e/common/cli/bind_test.go | 2 +-
e2e/common/config/default.go | 4 +-
e2e/common/config/kamelet_config_test.go | 100 +++++++++++++--------------
e2e/common/{setup => config}/main_test.go | 35 ++++------
e2e/common/config/pipe_config_test.go | 4 +-
e2e/common/languages/default.go | 4 +-
e2e/common/{setup => languages}/main_test.go | 35 ++++------
e2e/common/misc/default.go | 4 +-
e2e/common/misc/kamelet_update_test.go | 12 ++--
e2e/common/{setup => misc}/main_test.go | 36 +++++-----
e2e/common/misc/pipe_test.go | 10 +--
e2e/common/misc/registry_maven_wagon_test.go | 52 +++++++-------
e2e/common/misc/structured_logs_test.go | 3 +-
e2e/common/runtimes/default.go | 1 -
e2e/common/setup/testdata/Java.java | 28 --------
e2e/common/setup/testdata/yaml.yaml | 28 --------
e2e/common/traits/builder_test.go | 5 +-
e2e/common/traits/default.go | 4 +-
e2e/common/traits/deployment_test.go | 2 +
e2e/common/traits/health_test.go | 4 +-
e2e/common/traits/istio_test.go | 7 ++
e2e/common/traits/kamelet_test.go | 2 +-
e2e/common/{setup => traits}/main_test.go | 35 ++++------
e2e/common/traits/service_binding_test.go | 2 +-
e2e/install/cli/global_kamelet_test.go | 4 +-
e2e/knative/kamelet_test.go | 2 +-
e2e/support/test_support.go | 23 +++---
e2e/support/test_util.go | 5 ++
pkg/apis/camel/v1/kamelet_types_support.go | 5 ++
script/Makefile | 10 +--
34 files changed, 216 insertions(+), 272 deletions(-)
diff --git a/e2e/advanced/build_order_strategy_test.go b/e2e/advanced/build_order_strategy_test.go
index 83dcdce8c..ad30b02e8 100644
--- a/e2e/advanced/build_order_strategy_test.go
+++ b/e2e/advanced/build_order_strategy_test.go
@@ -46,7 +46,7 @@ func TestRunBuildOrderStrategyMatchingDependencies(t *testing.T) {
"--build-order-strategy", string(v1.BuildOrderStrategyDependencies)).Execute()).To(Succeed())
g.Eventually(PlatformPhase(t, ns), TestTimeoutMedium).Should(Equal(v1.IntegrationPlatformPhaseReady))
- g.Expect(CreateTimerKamelet(t, ns, "timer-source")()).To(Succeed())
+ g.Expect(CreateTimerKamelet(t, operatorID, ns, "timer-source")()).To(Succeed())
integrationA := RandomizedSuffixName("java-a")
g.Expect(KamelRunWithID(t, operatorID, ns, "files/Java.java",
diff --git a/e2e/advanced/incremental_build_test.go b/e2e/advanced/incremental_build_test.go
index 09172c6ca..40db5479a 100644
--- a/e2e/advanced/incremental_build_test.go
+++ b/e2e/advanced/incremental_build_test.go
@@ -98,6 +98,7 @@ func TestRunIncrementalBuildPod(t *testing.T) {
operatorID := "camel-k-incremental-build-pod"
g.Expect(CopyCamelCatalog(t, ns, operatorID)).To(Succeed())
g.Expect(KamelInstallWithID(t, operatorID, ns).Execute()).To(Succeed())
+ g.Eventually(SelectedPlatformPhase(t, ns, operatorID), TestTimeoutMedium).Should(Equal(v1.IntegrationPlatformPhaseReady))
name := RandomizedSuffixName("java")
g.Expect(KamelRunWithID(t, operatorID, ns, "files/Java.java",
@@ -141,7 +142,7 @@ func TestRunIncrementalBuildPod(t *testing.T) {
integrationIncrementalKitName := IntegrationKit(t, ns, nameIncremental)()
// the container comes in a format like
// 10.108.177.66/test-d7cad110-bb1d-4e79-8a0e-ebd44f6fe5d4/camel-k-kit-c8357r4k5tp6fn1idm60@sha256:d49716f0429ad8b23a1b8d20a357d64b1aa42a67c1a2a534ebd4c54cd598a18d
- // we should be save just to check the substring is contained
+ // we should be saving just to check the substring is contained
g.Eventually(Kit(t, ns, integrationIncrementalKitName)().Status.BaseImage).Should(ContainSubstring(integrationKitName))
g.Eventually(Kit(t, ns, integrationIncrementalKitName)().Status.RootImage).Should(Equal(defaults.BaseImage()))
g.Eventually(BuilderPodsCount(t, ns)).Should(Equal(2))
@@ -158,6 +159,7 @@ func TestRunIncrementalBuildOff(t *testing.T) {
operatorID := "camel-k-standard-build"
g.Expect(CopyCamelCatalog(t, ns, operatorID)).To(Succeed())
g.Expect(KamelInstallWithID(t, operatorID, ns).Execute()).To(Succeed())
+ g.Eventually(SelectedPlatformPhase(t, ns, operatorID), TestTimeoutMedium).Should(Equal(v1.IntegrationPlatformPhaseReady))
name := RandomizedSuffixName("java")
g.Expect(KamelRunWithID(t, operatorID, ns, "files/Java.java",
@@ -209,6 +211,7 @@ func TestRunIncrementalBuildWithDifferentBaseImages(t *testing.T) {
operatorID := "camel-k-incremental-different-base"
g.Expect(CopyCamelCatalog(t, ns, operatorID)).To(Succeed())
g.Expect(KamelInstallWithID(t, operatorID, ns).Execute()).To(Succeed())
+ g.Eventually(SelectedPlatformPhase(t, ns, operatorID), TestTimeoutMedium).Should(Equal(v1.IntegrationPlatformPhaseReady))
name := RandomizedSuffixName("java")
g.Expect(KamelRunWithID(t, operatorID, ns, "files/Java.java",
diff --git a/e2e/advanced/main_test.go b/e2e/advanced/main_test.go
index 1127038b2..b579b4c7d 100644
--- a/e2e/advanced/main_test.go
+++ b/e2e/advanced/main_test.go
@@ -37,6 +37,11 @@ import (
)
func TestMain(m *testing.M) {
+ justCompile := GetEnvOrDefault("CAMEL_K_E2E_JUST_COMPILE", "false")
+ if justCompile == "true" {
+ os.Exit(m.Run())
+ }
+
fastSetup := GetEnvOrDefault("CAMEL_K_E2E_FAST_SETUP", "false")
if fastSetup != "true" {
os.Exit(m.Run())
diff --git a/e2e/advanced/promote_test.go b/e2e/advanced/promote_test.go
index 0051dd0cb..6327b0fc5 100644
--- a/e2e/advanced/promote_test.go
+++ b/e2e/advanced/promote_test.go
@@ -68,14 +68,14 @@ func TestKamelCLIPromote(t *testing.T) {
})
t.Run("kamelet integration dev", func(t *testing.T) {
- g.Expect(CreateTimerKamelet(t, nsDev, "my-own-timer-source")()).To(Succeed())
+ g.Expect(CreateTimerKamelet(t, operatorDevID, nsDev, "my-own-timer-source")()).To(Succeed())
g.Expect(KamelRunWithID(t, operatorDevID, nsDev, "./files/timer-kamelet-usage.groovy").Execute()).To(Succeed())
g.Eventually(IntegrationPodPhase(t, nsDev, "timer-kamelet-usage"), TestTimeoutMedium).Should(Equal(corev1.PodRunning))
g.Eventually(IntegrationLogs(t, nsDev, "timer-kamelet-usage"), TestTimeoutShort).Should(ContainSubstring("Hello world"))
})
t.Run("binding dev", func(t *testing.T) {
- g.Expect(CreateTimerKamelet(t, nsDev, "kb-timer-source")()).To(Succeed())
+ g.Expect(CreateTimerKamelet(t, operatorDevID, nsDev, "kb-timer-source")()).To(Succeed())
g.Expect(KamelBindWithID(t, operatorDevID, nsDev, "kb-timer-source", "log:info", "-p", "source.message=my-kamelet-binding-rocks").Execute()).To(Succeed())
g.Eventually(IntegrationPodPhase(t, nsDev, "kb-timer-source-to-log"), TestTimeoutMedium).Should(Equal(corev1.PodRunning))
g.Eventually(IntegrationLogs(t, nsDev, "kb-timer-source-to-log"), TestTimeoutShort).Should(ContainSubstring("my-kamelet-binding-rocks"))
@@ -147,7 +147,7 @@ func TestKamelCLIPromote(t *testing.T) {
})
t.Run("kamelet integration promotion", func(t *testing.T) {
- g.Expect(CreateTimerKamelet(t, nsProd, "my-own-timer-source")()).To(Succeed())
+ g.Expect(CreateTimerKamelet(t, operatorProdID, nsProd, "my-own-timer-source")()).To(Succeed())
g.Expect(Kamel(t, "promote", "-n", nsDev, "timer-kamelet-usage", "--to", nsProd).Execute()).To(Succeed())
g.Eventually(IntegrationPodPhase(t, nsProd, "timer-kamelet-usage"), TestTimeoutMedium).Should(Equal(corev1.PodRunning))
g.Eventually(IntegrationLogs(t, nsProd, "timer-kamelet-usage"), TestTimeoutShort).Should(ContainSubstring("Hello world"))
@@ -160,7 +160,7 @@ func TestKamelCLIPromote(t *testing.T) {
})
t.Run("binding promotion", func(t *testing.T) {
- g.Expect(CreateTimerKamelet(t, nsProd, "kb-timer-source")()).To(Succeed())
+ g.Expect(CreateTimerKamelet(t, operatorProdID, nsProd, "kb-timer-source")()).To(Succeed())
g.Expect(Kamel(t, "promote", "-n", nsDev, "kb-timer-source-to-log", "--to", nsProd).Execute()).To(Succeed())
g.Eventually(IntegrationPodPhase(t, nsProd, "kb-timer-source-to-log"), TestTimeoutMedium).Should(Equal(corev1.PodRunning))
g.Eventually(IntegrationLogs(t, nsProd, "kb-timer-source-to-log"), TestTimeoutShort).Should(ContainSubstring("my-kamelet-binding-rocks"))
diff --git a/e2e/common/cli/bind_test.go b/e2e/common/cli/bind_test.go
index ed98095c8..40e1afe09 100644
--- a/e2e/common/cli/bind_test.go
+++ b/e2e/common/cli/bind_test.go
@@ -35,7 +35,7 @@ import (
func TestKamelCLIBind(t *testing.T) {
WithNewTestNamespace(t, func(g *WithT, ns string) {
kameletName := "test-timer-source"
- g.Expect(CreateTimerKamelet(t, ns, kameletName)()).To(Succeed())
+ g.Expect(CreateTimerKamelet(t, operatorID, ns, kameletName)()).To(Succeed())
t.Run("bind timer to log", func(t *testing.T) {
g.Expect(KamelBindWithID(t, operatorID, ns, kameletName, "log:info", "-p", "source.message=helloTest").Execute()).To(Succeed())
diff --git a/e2e/common/config/default.go b/e2e/common/config/default.go
index 13e78b4f1..d92514a52 100644
--- a/e2e/common/config/default.go
+++ b/e2e/common/config/default.go
@@ -25,5 +25,5 @@ import (
"github.com/apache/camel-k/v2/pkg/platform"
)
-var ns = support.GetEnvOrDefault("CAMEL_K_TEST_NAMESPACE", support.TestDefaultNamespace)
-var operatorID = support.GetEnvOrDefault("CAMEL_K_OPERATOR_ID", platform.DefaultPlatformName)
+var operatorNS = support.TestDefaultNamespace + "-config"
+var operatorID = platform.DefaultPlatformName + "-config"
diff --git a/e2e/common/config/kamelet_config_test.go b/e2e/common/config/kamelet_config_test.go
index 913a3f206..8cc946cb9 100644
--- a/e2e/common/config/kamelet_config_test.go
+++ b/e2e/common/config/kamelet_config_test.go
@@ -40,7 +40,7 @@ func TestKameletImplicitConfigDefaultUserPropery(t *testing.T) {
WithNewTestNamespace(t, func(g *WithT, ns string) {
t.Run("run test default config using properties", func(t *testing.T) {
- g.Expect(CreateTimerKamelet(t, ns, "iconfig01-timer-source")()).To(Succeed())
+ g.Expect(CreateTimerKamelet(t, operatorID, ns, "iconfig01-timer-source")()).To(Succeed())
name := RandomizedSuffixName("iconfig-test-timer-source-int01")
g.Expect(KamelRunWithID(t, operatorID, ns, "files/TimerKameletIntegrationConfiguration01.java",
@@ -63,7 +63,7 @@ func TestKameletImplicitConfigDefaultMountedSecret(t *testing.T) {
t.Run("run test default config using mounted secret", func(t *testing.T) {
- g.Expect(CreateTimerKamelet(t, ns, "iconfig03-timer-source")()).To(Succeed())
+ g.Expect(CreateTimerKamelet(t, operatorID, ns, "iconfig03-timer-source")()).To(Succeed())
name := RandomizedSuffixName("iconfig-test-timer-source-int3")
secretName := "my-iconfig-int3-secret"
@@ -95,7 +95,7 @@ func TestKameletImplicitConfigDefaultMountedConfigmap(t *testing.T) {
t.Run("run test default config using mounted configmap", func(t *testing.T) {
- g.Expect(CreateTimerKamelet(t, ns, "iconfig04-timer-source")()).To(Succeed())
+ g.Expect(CreateTimerKamelet(t, operatorID, ns, "iconfig04-timer-source")()).To(Succeed())
name := RandomizedSuffixName("iconfig-test-timer-source-int4")
cmName := "my-iconfig-int4-configmap"
@@ -123,7 +123,7 @@ func TestKameletImplicitConfigDefaultMountedConfigmap(t *testing.T) {
func TestKameletImplicitConfigNamedUserPropery(t *testing.T) {
WithNewTestNamespace(t, func(g *WithT, ns string) {
t.Run("run test named config using properties", func(t *testing.T) {
- g.Expect(CreateTimerKamelet(t, ns, "iconfig05-timer-source")()).To(Succeed())
+ g.Expect(CreateTimerKamelet(t, operatorID, ns, "iconfig05-timer-source")()).To(Succeed())
name := RandomizedSuffixName("iconfig-test-timer-source-int5")
g.Expect(KamelRunWithID(t, operatorID, ns, "files/TimerKameletIntegrationNamedConfiguration05.java",
@@ -145,7 +145,7 @@ func TestKameletImplicitConfigNamedUserPropery(t *testing.T) {
func TestKameletImplicitConfigNamedLabeledSecret(t *testing.T) {
WithNewTestNamespace(t, func(g *WithT, ns string) {
t.Run("run test named config using labeled secret", func(t *testing.T) {
- g.Expect(CreateTimerKamelet(t, ns, "iconfig06-timer-source")()).To(Succeed())
+ g.Expect(CreateTimerKamelet(t, operatorID, ns, "iconfig06-timer-source")()).To(Succeed())
name := RandomizedSuffixName("iconfig-test-timer-source-int6")
secretName := "my-iconfig-int6-secret"
@@ -178,7 +178,7 @@ func TestKameletImplicitConfigNamedLabeledSecret(t *testing.T) {
func TestKameletImplicitConfigNamedMountedSecret(t *testing.T) {
WithNewTestNamespace(t, func(g *WithT, ns string) {
t.Run("run test named config using mounted secret", func(t *testing.T) {
- g.Expect(CreateTimerKamelet(t, ns, "iconfig07-timer-source")()).To(Succeed())
+ g.Expect(CreateTimerKamelet(t, operatorID, ns, "iconfig07-timer-source")()).To(Succeed())
name := RandomizedSuffixName("iconfig-test-timer-source-int7")
secretName := "my-iconfig-int7-secret"
@@ -209,7 +209,7 @@ func TestKameletImplicitConfigNamedMountedSecret(t *testing.T) {
func TestKameletImplicitConfigNamedMountedConfigmap(t *testing.T) {
WithNewTestNamespace(t, func(g *WithT, ns string) {
t.Run("run test named config using mounted configmap", func(t *testing.T) {
- g.Expect(CreateTimerKamelet(t, ns, "iconfig08-timer-source")()).To(Succeed())
+ g.Expect(CreateTimerKamelet(t, operatorID, ns, "iconfig08-timer-source")()).To(Succeed())
name := RandomizedSuffixName("iconfig-test-timer-source-int8")
cmName := "my-iconfig-int8-configmap"
@@ -238,7 +238,7 @@ func TestKameletImplicitConfigNamedMountedConfigmap(t *testing.T) {
func TestKameletImplicitConfigDefaultLabeledSecret(t *testing.T) {
WithNewTestNamespace(t, func(g *WithT, ns string) {
t.Run("run test default config using labeled secret", func(t *testing.T) {
- g.Expect(CreateTimerKamelet(t, ns, "iconfig09-timer-source")()).To(Succeed())
+ g.Expect(CreateTimerKamelet(t, operatorID, ns, "iconfig09-timer-source")()).To(Succeed())
name := RandomizedSuffixName("iconfig-test-timer-source-int9")
secretName := "my-iconfig-int9-secret"
@@ -271,8 +271,8 @@ func TestKameletImplicitConfigDefaultLabeledSecret(t *testing.T) {
func TestKameletConfigInlinedUserPropery(t *testing.T) {
WithNewTestNamespace(t, func(g *WithT, ns string) {
t.Run("run test default config inlined properties", func(t *testing.T) {
- g.Expect(CreateTimerKamelet(t, ns, "config01-timer-source")()).To(Succeed())
- g.Expect(CreateLogKamelet(t, ns, "config01-log-sink")()).To(Succeed())
+ g.Expect(CreateTimerKamelet(t, operatorID, ns, "config01-timer-source")()).To(Succeed())
+ g.Expect(CreateLogKamelet(t, operatorID, ns, "config01-log-sink")()).To(Succeed())
name := RandomizedSuffixName("config-test-timer-source-int1")
@@ -296,34 +296,32 @@ func TestKameletConfigDefaultParamUserPropery(t *testing.T) {
g := NewWithT(t)
t.Run("run test default config parameters properties", func(t *testing.T) {
- g.Expect(CreateTimerKamelet(t, ns, "config02-timer-source")()).To(Succeed())
- g.Expect(CreateLogKamelet(t, ns, "config02-log-sink")()).To(Succeed())
+ g.Expect(CreateTimerKamelet(t, operatorID, operatorNS, "config02-timer-source")()).To(Succeed())
+ g.Expect(CreateLogKamelet(t, operatorID, operatorNS, "config02-log-sink")()).To(Succeed())
name := RandomizedSuffixName("config-test-timer-source-int2")
- g.Expect(KamelRunWithID(t, operatorID, ns, "files/timer-kamelet-integration-parameters-configuration-02.yaml",
+ g.Expect(KamelRunWithID(t, operatorID, operatorNS, "files/timer-kamelet-integration-parameters-configuration-02.yaml",
"-p", "my-message='My parameter message 02'",
"-p", "my-logger='myIntegrationLogger02'",
"--name", name).Execute()).To(Succeed())
- g.Eventually(IntegrationPodPhase(t, ns, name), TestTimeoutLong).Should(Equal(corev1.PodRunning))
- g.Eventually(IntegrationLogs(t, ns, name)).Should(ContainSubstring("My parameter message 02"))
- g.Eventually(IntegrationLogs(t, ns, name)).Should(ContainSubstring("myIntegrationLogger02"))
-
- g.Expect(Kamel(t, "delete", name, "-n", ns).Execute()).To(Succeed())
- g.Eventually(Integration(t, ns, name), TestTimeoutLong).Should(BeNil())
- g.Expect(DeleteKamelet(t, ns, "config02-timer-source")).To(Succeed())
- g.Expect(DeleteKamelet(t, ns, "config02-log-sink")).To(Succeed())
+ g.Eventually(IntegrationPodPhase(t, operatorNS, name), TestTimeoutLong).Should(Equal(corev1.PodRunning))
+ g.Eventually(IntegrationLogs(t, operatorNS, name)).Should(ContainSubstring("My parameter message 02"))
+ g.Eventually(IntegrationLogs(t, operatorNS, name)).Should(ContainSubstring("myIntegrationLogger02"))
+
+ g.Expect(Kamel(t, "delete", name, "-n", operatorNS).Execute()).To(Succeed())
+ g.Eventually(Integration(t, operatorNS, name), TestTimeoutLong).Should(BeNil())
+ g.Expect(DeleteKamelet(t, operatorNS, "config02-timer-source")).To(Succeed())
+ g.Expect(DeleteKamelet(t, operatorNS, "config02-log-sink")).To(Succeed())
})
-
- g.Expect(Kamel(t, "delete", "--all", "-n", ns).Execute()).To(Succeed())
}
func TestKameletConfigDefaultParamMountedSecret(t *testing.T) {
g := NewWithT(t)
t.Run("run test default config secret properties", func(t *testing.T) {
- g.Expect(CreateTimerKamelet(t, ns, "config03-timer-source")()).To(Succeed())
- g.Expect(CreateLogKamelet(t, ns, "config03-log-sink")()).To(Succeed())
+ g.Expect(CreateTimerKamelet(t, operatorID, operatorNS, "config03-timer-source")()).To(Succeed())
+ g.Expect(CreateLogKamelet(t, operatorID, operatorNS, "config03-log-sink")()).To(Succeed())
name := RandomizedSuffixName("config-test-timer-source-int3")
secretName := "my-config-int3-secret"
@@ -331,31 +329,29 @@ func TestKameletConfigDefaultParamMountedSecret(t *testing.T) {
var secData = make(map[string]string)
secData["my-message"] = "My secret message 03"
secData["my-logger"] = "mySecretIntegrationLogger03"
- g.Expect(CreatePlainTextSecret(t, ns, secretName, secData)).To(Succeed())
+ g.Expect(CreatePlainTextSecret(t, operatorNS, secretName, secData)).To(Succeed())
- g.Expect(KamelRunWithID(t, operatorID, ns, "files/timer-kamelet-integration-parameters-configuration-03.yaml",
+ g.Expect(KamelRunWithID(t, operatorID, operatorNS, "files/timer-kamelet-integration-parameters-configuration-03.yaml",
"-t", "mount.configs=secret:"+secretName,
"--name", name).Execute()).To(Succeed())
- g.Eventually(IntegrationPodPhase(t, ns, name), TestTimeoutLong).Should(Equal(corev1.PodRunning))
- g.Eventually(IntegrationLogs(t, ns, name)).Should(ContainSubstring("My secret message 03"))
- g.Eventually(IntegrationLogs(t, ns, name)).Should(ContainSubstring("mySecretIntegrationLogger03"))
-
- g.Expect(Kamel(t, "delete", name, "-n", ns).Execute()).To(Succeed())
- g.Eventually(Integration(t, ns, name), TestTimeoutLong).Should(BeNil())
- g.Expect(DeleteSecret(t, ns, secretName)).To(Succeed())
- g.Expect(DeleteKamelet(t, ns, "config03-timer-source")).To(Succeed())
- g.Expect(DeleteKamelet(t, ns, "config03-log-sink")).To(Succeed())
+ g.Eventually(IntegrationPodPhase(t, operatorNS, name), TestTimeoutLong).Should(Equal(corev1.PodRunning))
+ g.Eventually(IntegrationLogs(t, operatorNS, name)).Should(ContainSubstring("My secret message 03"))
+ g.Eventually(IntegrationLogs(t, operatorNS, name)).Should(ContainSubstring("mySecretIntegrationLogger03"))
+
+ g.Expect(Kamel(t, "delete", name, "-n", operatorNS).Execute()).To(Succeed())
+ g.Eventually(Integration(t, operatorNS, name), TestTimeoutLong).Should(BeNil())
+ g.Expect(DeleteSecret(t, operatorNS, secretName)).To(Succeed())
+ g.Expect(DeleteKamelet(t, operatorNS, "config03-timer-source")).To(Succeed())
+ g.Expect(DeleteKamelet(t, operatorNS, "config03-log-sink")).To(Succeed())
})
-
- g.Expect(Kamel(t, "delete", "--all", "-n", ns).Execute()).To(Succeed())
}
func TestKameletConfigDefaultParamMountedConfigmap(t *testing.T) {
g := NewWithT(t)
t.Run("run test default config configmap properties", func(t *testing.T) {
- g.Expect(CreateTimerKamelet(t, ns, "config04-timer-source")()).To(Succeed())
- g.Expect(CreateLogKamelet(t, ns, "config04-log-sink")()).To(Succeed())
+ g.Expect(CreateTimerKamelet(t, operatorID, operatorNS, "config04-timer-source")()).To(Succeed())
+ g.Expect(CreateLogKamelet(t, operatorID, operatorNS, "config04-log-sink")()).To(Succeed())
name := RandomizedSuffixName("config-test-timer-source-int4")
cmName := "my-config-int4-configmap"
@@ -363,21 +359,19 @@ func TestKameletConfigDefaultParamMountedConfigmap(t *testing.T) {
var cmData = make(map[string]string)
cmData["my-message"] = "My configmap message 04"
cmData["my-logger"] = "myConfigmapIntegrationLogger04"
- g.Expect(CreatePlainTextConfigmap(t, ns, cmName, cmData)).To(Succeed())
+ g.Expect(CreatePlainTextConfigmap(t, operatorNS, cmName, cmData)).To(Succeed())
- g.Expect(KamelRunWithID(t, operatorID, ns, "files/timer-kamelet-integration-parameters-configuration-04.yaml",
+ g.Expect(KamelRunWithID(t, operatorID, operatorNS, "files/timer-kamelet-integration-parameters-configuration-04.yaml",
"-t", "mount.configs=configmap:"+cmName,
"--name", name).Execute()).To(Succeed())
- g.Eventually(IntegrationPodPhase(t, ns, name), TestTimeoutLong).Should(Equal(corev1.PodRunning))
- g.Eventually(IntegrationLogs(t, ns, name)).Should(ContainSubstring("My configmap message 04"))
- g.Eventually(IntegrationLogs(t, ns, name)).Should(ContainSubstring("myConfigmapIntegrationLogger04"))
-
- g.Expect(Kamel(t, "delete", name, "-n", ns).Execute()).To(Succeed())
- g.Eventually(Integration(t, ns, name), TestTimeoutLong).Should(BeNil())
- g.Expect(DeleteConfigmap(t, ns, cmName)).To(Succeed())
- g.Expect(DeleteKamelet(t, ns, "config04-timer-source")).To(Succeed())
- g.Expect(DeleteKamelet(t, ns, "config04-log-sink")).To(Succeed())
+ g.Eventually(IntegrationPodPhase(t, operatorNS, name), TestTimeoutLong).Should(Equal(corev1.PodRunning))
+ g.Eventually(IntegrationLogs(t, operatorNS, name)).Should(ContainSubstring("My configmap message 04"))
+ g.Eventually(IntegrationLogs(t, operatorNS, name)).Should(ContainSubstring("myConfigmapIntegrationLogger04"))
+
+ g.Expect(Kamel(t, "delete", name, "-n", operatorNS).Execute()).To(Succeed())
+ g.Eventually(Integration(t, operatorNS, name), TestTimeoutLong).Should(BeNil())
+ g.Expect(DeleteConfigmap(t, operatorNS, cmName)).To(Succeed())
+ g.Expect(DeleteKamelet(t, operatorNS, "config04-timer-source")).To(Succeed())
+ g.Expect(DeleteKamelet(t, operatorNS, "config04-log-sink")).To(Succeed())
})
-
- g.Expect(Kamel(t, "delete", "--all", "-n", ns).Execute()).To(Succeed())
}
diff --git a/e2e/common/setup/main_test.go b/e2e/common/config/main_test.go
similarity index 50%
copy from e2e/common/setup/main_test.go
copy to e2e/common/config/main_test.go
index d303f2483..1f977eab9 100644
--- a/e2e/common/setup/main_test.go
+++ b/e2e/common/config/main_test.go
@@ -20,48 +20,43 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
-package setup
+package config
import (
"fmt"
+ v1 "github.com/apache/camel-k/v2/pkg/apis/camel/v1"
"os"
"testing"
. "github.com/onsi/gomega"
. "github.com/apache/camel-k/v2/e2e/support"
- v1 "github.com/apache/camel-k/v2/pkg/apis/camel/v1"
- "github.com/apache/camel-k/v2/pkg/platform"
-
- corev1 "k8s.io/api/core/v1"
)
func TestMain(m *testing.M) {
- fastSetup := GetEnvOrDefault("CAMEL_K_E2E_FAST_SETUP", "false")
- if fastSetup != "true" {
+ justCompile := GetEnvOrDefault("CAMEL_K_E2E_JUST_COMPILE", "false")
+ if justCompile == "true" {
os.Exit(m.Run())
}
- operatorID := platform.DefaultPlatformName
- ns := GetEnvOrDefault("CAMEL_K_GLOBAL_OPERATOR_NS", TestDefaultNamespace)
-
g := NewGomega(func(message string, callerSkip ...int) {
- fmt.Printf("Test fast setup failed! - %s\n", message)
+ fmt.Printf("Test setup failed! - %s\n", message)
})
var t *testing.T
g.Expect(TestClient(t)).ShouldNot(BeNil())
- g.Expect(KamelRunWithID(t, operatorID, ns, "testdata/Java.java").Execute()).To(Succeed())
- g.Eventually(IntegrationPodPhase(t, ns, "java"), TestTimeoutLong).Should(Equal(corev1.PodRunning))
- g.Eventually(IntegrationConditionStatus(t, ns, "java", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
- g.Eventually(IntegrationLogs(t, ns, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
+ // Install global operator for tests in this package, all tests must use this operatorID so tests can run in parallel and gain execution speed
+ g.Expect(NewNamedTestNamespace(t, operatorNS, false)).ShouldNot(BeNil())
+ g.Expect(CopyCamelCatalog(t, operatorNS, operatorID)).To(Succeed())
+ g.Expect(KamelInstallWithID(t, operatorID, operatorNS, "--global", "--force").Execute()).To(Succeed())
+ g.Eventually(SelectedPlatformPhase(t, operatorNS, operatorID), TestTimeoutMedium).Should(Equal(v1.IntegrationPlatformPhaseReady))
+
+ exitCode := m.Run()
- g.Expect(KamelRunWithID(t, operatorID, ns, "testdata/yaml.yaml").Execute()).To(Succeed())
- g.Eventually(IntegrationPodPhase(t, ns, "yaml"), TestTimeoutLong).Should(Equal(corev1.PodRunning))
- g.Eventually(IntegrationConditionStatus(t, ns, "yaml", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
- g.Eventually(IntegrationLogs(t, ns, "yaml"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
+ g.Expect(UninstallFromNamespace(t, operatorNS))
+ g.Expect(DeleteNamespace(t, operatorNS)).To(Succeed())
- os.Exit(m.Run())
+ os.Exit(exitCode)
}
diff --git a/e2e/common/config/pipe_config_test.go b/e2e/common/config/pipe_config_test.go
index 1e8af0462..272ed84de 100644
--- a/e2e/common/config/pipe_config_test.go
+++ b/e2e/common/config/pipe_config_test.go
@@ -37,8 +37,8 @@ func TestPipeConfig(t *testing.T) {
WithNewTestNamespace(t, func(g *WithT, ns string) {
t.Run("test custom source/sink pipe", func(t *testing.T) {
- g.Expect(CreateTimerKamelet(t, ns, "my-pipe-timer-source")()).To(Succeed())
- g.Expect(CreateLogKamelet(t, ns, "my-pipe-log-sink")()).To(Succeed())
+ g.Expect(CreateTimerKamelet(t, operatorID, ns, "my-pipe-timer-source")()).To(Succeed())
+ g.Expect(CreateLogKamelet(t, operatorID, ns, "my-pipe-log-sink")()).To(Succeed())
t.Run("run test default config using properties", func(t *testing.T) {
name := RandomizedSuffixName("my-pipe-with-properties")
diff --git a/e2e/common/languages/default.go b/e2e/common/languages/default.go
index 63569d2b2..2a7e2e176 100644
--- a/e2e/common/languages/default.go
+++ b/e2e/common/languages/default.go
@@ -25,5 +25,5 @@ import (
"github.com/apache/camel-k/v2/pkg/platform"
)
-var ns = support.GetEnvOrDefault("CAMEL_K_TEST_NAMESPACE", support.TestDefaultNamespace)
-var operatorID = support.GetEnvOrDefault("CAMEL_K_OPERATOR_ID", platform.DefaultPlatformName)
+var operatorNS = support.TestDefaultNamespace + "-languages"
+var operatorID = platform.DefaultPlatformName + "-languages"
diff --git a/e2e/common/setup/main_test.go b/e2e/common/languages/main_test.go
similarity index 50%
copy from e2e/common/setup/main_test.go
copy to e2e/common/languages/main_test.go
index d303f2483..10800b385 100644
--- a/e2e/common/setup/main_test.go
+++ b/e2e/common/languages/main_test.go
@@ -20,48 +20,43 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
-package setup
+package languages
import (
"fmt"
+ v1 "github.com/apache/camel-k/v2/pkg/apis/camel/v1"
"os"
"testing"
. "github.com/onsi/gomega"
. "github.com/apache/camel-k/v2/e2e/support"
- v1 "github.com/apache/camel-k/v2/pkg/apis/camel/v1"
- "github.com/apache/camel-k/v2/pkg/platform"
-
- corev1 "k8s.io/api/core/v1"
)
func TestMain(m *testing.M) {
- fastSetup := GetEnvOrDefault("CAMEL_K_E2E_FAST_SETUP", "false")
- if fastSetup != "true" {
+ justCompile := GetEnvOrDefault("CAMEL_K_E2E_JUST_COMPILE", "false")
+ if justCompile == "true" {
os.Exit(m.Run())
}
- operatorID := platform.DefaultPlatformName
- ns := GetEnvOrDefault("CAMEL_K_GLOBAL_OPERATOR_NS", TestDefaultNamespace)
-
g := NewGomega(func(message string, callerSkip ...int) {
- fmt.Printf("Test fast setup failed! - %s\n", message)
+ fmt.Printf("Test setup failed! - %s\n", message)
})
var t *testing.T
g.Expect(TestClient(t)).ShouldNot(BeNil())
- g.Expect(KamelRunWithID(t, operatorID, ns, "testdata/Java.java").Execute()).To(Succeed())
- g.Eventually(IntegrationPodPhase(t, ns, "java"), TestTimeoutLong).Should(Equal(corev1.PodRunning))
- g.Eventually(IntegrationConditionStatus(t, ns, "java", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
- g.Eventually(IntegrationLogs(t, ns, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
+ // Install global operator for tests in this package, all tests must use this operatorID so tests can run in parallel and gain execution speed
+ g.Expect(NewNamedTestNamespace(t, operatorNS, false)).ShouldNot(BeNil())
+ g.Expect(CopyCamelCatalog(t, operatorNS, operatorID)).To(Succeed())
+ g.Expect(KamelInstallWithID(t, operatorID, operatorNS, "--global", "--force").Execute()).To(Succeed())
+ g.Eventually(SelectedPlatformPhase(t, operatorNS, operatorID), TestTimeoutMedium).Should(Equal(v1.IntegrationPlatformPhaseReady))
+
+ exitCode := m.Run()
- g.Expect(KamelRunWithID(t, operatorID, ns, "testdata/yaml.yaml").Execute()).To(Succeed())
- g.Eventually(IntegrationPodPhase(t, ns, "yaml"), TestTimeoutLong).Should(Equal(corev1.PodRunning))
- g.Eventually(IntegrationConditionStatus(t, ns, "yaml", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
- g.Eventually(IntegrationLogs(t, ns, "yaml"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
+ g.Expect(UninstallFromNamespace(t, operatorNS))
+ g.Expect(DeleteNamespace(t, operatorNS)).To(Succeed())
- os.Exit(m.Run())
+ os.Exit(exitCode)
}
diff --git a/e2e/common/misc/default.go b/e2e/common/misc/default.go
index 794d34d8e..9e677ac69 100644
--- a/e2e/common/misc/default.go
+++ b/e2e/common/misc/default.go
@@ -25,5 +25,5 @@ import (
"github.com/apache/camel-k/v2/pkg/platform"
)
-var ns = support.GetEnvOrDefault("CAMEL_K_TEST_NAMESPACE", support.TestDefaultNamespace)
-var operatorID = support.GetEnvOrDefault("CAMEL_K_OPERATOR_ID", platform.DefaultPlatformName)
+var operatorNS = support.TestDefaultNamespace + "-misc"
+var operatorID = platform.DefaultPlatformName + "-misc"
diff --git a/e2e/common/misc/kamelet_update_test.go b/e2e/common/misc/kamelet_update_test.go
index adc0a326f..faf251b42 100644
--- a/e2e/common/misc/kamelet_update_test.go
+++ b/e2e/common/misc/kamelet_update_test.go
@@ -39,8 +39,8 @@ func TestBundleKameletUpdate(t *testing.T) {
WithNewTestNamespace(t, func(g *WithT, ns string) {
- g.Expect(createBundleKamelet(t, ns, "my-http-sink")()).To(Succeed()) // Going to be replaced
- g.Expect(createUserKamelet(t, ns, "user-sink")()).To(Succeed()) // Left intact by the operator
+ g.Expect(createBundleKamelet(t, operatorID, ns, "my-http-sink")()).To(Succeed()) // Going to be replaced
+ g.Expect(createUserKamelet(t, operatorID, ns, "user-sink")()).To(Succeed()) // Left intact by the operator
g.Eventually(Kamelet(t, "my-http-sink", ns)).
Should(WithTransform(KameletLabels, HaveKeyWithValue(customLabel, "true")))
@@ -51,7 +51,7 @@ func TestBundleKameletUpdate(t *testing.T) {
})
}
-func createBundleKamelet(t *testing.T, ns string, name string) func() error {
+func createBundleKamelet(t *testing.T, operatorID string, ns string, name string) func() error {
flow := map[string]interface{}{
"from": map[string]interface{}{
"uri": "kamelet:source",
@@ -62,10 +62,10 @@ func createBundleKamelet(t *testing.T, ns string, name string) func() error {
customLabel: "true",
v1.KameletBundledLabel: "true",
}
- return CreateKamelet(t, ns, name, flow, nil, labels)
+ return CreateKamelet(t, operatorID, ns, name, flow, nil, labels)
}
-func createUserKamelet(t *testing.T, ns string, name string) func() error {
+func createUserKamelet(t *testing.T, operatorID string, ns string, name string) func() error {
flow := map[string]interface{}{
"from": map[string]interface{}{
"uri": "kamelet:source",
@@ -75,5 +75,5 @@ func createUserKamelet(t *testing.T, ns string, name string) func() error {
labels := map[string]string{
customLabel: "true",
}
- return CreateKamelet(t, ns, name, flow, nil, labels)
+ return CreateKamelet(t, operatorID, ns, name, flow, nil, labels)
}
diff --git a/e2e/common/setup/main_test.go b/e2e/common/misc/main_test.go
similarity index 50%
copy from e2e/common/setup/main_test.go
copy to e2e/common/misc/main_test.go
index d303f2483..bf4aea736 100644
--- a/e2e/common/setup/main_test.go
+++ b/e2e/common/misc/main_test.go
@@ -20,48 +20,44 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
-package setup
+package misc
import (
"fmt"
+ v1 "github.com/apache/camel-k/v2/pkg/apis/camel/v1"
"os"
"testing"
. "github.com/onsi/gomega"
. "github.com/apache/camel-k/v2/e2e/support"
- v1 "github.com/apache/camel-k/v2/pkg/apis/camel/v1"
- "github.com/apache/camel-k/v2/pkg/platform"
-
- corev1 "k8s.io/api/core/v1"
)
func TestMain(m *testing.M) {
- fastSetup := GetEnvOrDefault("CAMEL_K_E2E_FAST_SETUP", "false")
- if fastSetup != "true" {
+ justCompile := GetEnvOrDefault("CAMEL_K_E2E_JUST_COMPILE", "false")
+ if justCompile == "true" {
os.Exit(m.Run())
}
- operatorID := platform.DefaultPlatformName
- ns := GetEnvOrDefault("CAMEL_K_GLOBAL_OPERATOR_NS", TestDefaultNamespace)
-
g := NewGomega(func(message string, callerSkip ...int) {
- fmt.Printf("Test fast setup failed! - %s\n", message)
+ fmt.Printf("Test setup failed! - %s\n", message)
})
var t *testing.T
g.Expect(TestClient(t)).ShouldNot(BeNil())
- g.Expect(KamelRunWithID(t, operatorID, ns, "testdata/Java.java").Execute()).To(Succeed())
- g.Eventually(IntegrationPodPhase(t, ns, "java"), TestTimeoutLong).Should(Equal(corev1.PodRunning))
- g.Eventually(IntegrationConditionStatus(t, ns, "java", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
- g.Eventually(IntegrationLogs(t, ns, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
+ // Install global operator for tests in this package, all tests must use this operatorID so tests can run in parallel and gain execution speed
+ g.Expect(NewNamedTestNamespace(t, operatorNS, false)).ShouldNot(BeNil())
+ g.Expect(CopyCamelCatalog(t, operatorNS, operatorID)).To(Succeed())
+ // Need Kamelet catalog for pipe bind tests
+ g.Expect(KamelInstallWithIDAndKameletCatalog(t, operatorID, operatorNS, "--global", "--force").Execute()).To(Succeed())
+ g.Eventually(SelectedPlatformPhase(t, operatorNS, operatorID), TestTimeoutMedium).Should(Equal(v1.IntegrationPlatformPhaseReady))
+
+ exitCode := m.Run()
- g.Expect(KamelRunWithID(t, operatorID, ns, "testdata/yaml.yaml").Execute()).To(Succeed())
- g.Eventually(IntegrationPodPhase(t, ns, "yaml"), TestTimeoutLong).Should(Equal(corev1.PodRunning))
- g.Eventually(IntegrationConditionStatus(t, ns, "yaml", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
- g.Eventually(IntegrationLogs(t, ns, "yaml"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
+ g.Expect(UninstallFromNamespace(t, operatorNS))
+ g.Expect(DeleteNamespace(t, operatorNS)).To(Succeed())
- os.Exit(m.Run())
+ os.Exit(exitCode)
}
diff --git a/e2e/common/misc/pipe_test.go b/e2e/common/misc/pipe_test.go
index 60abb04ba..ab143b47f 100644
--- a/e2e/common/misc/pipe_test.go
+++ b/e2e/common/misc/pipe_test.go
@@ -41,8 +41,8 @@ func TestPipe(t *testing.T) {
// Error Handler testing
t.Run("test error handler", func(t *testing.T) {
- g.Expect(createErrorProducerKamelet(t, ns, "my-own-error-producer-source")()).To(Succeed())
- g.Expect(CreateLogKamelet(t, ns, "my-own-log-sink")()).To(Succeed())
+ g.Expect(createErrorProducerKamelet(t, operatorID, ns, "my-own-error-producer-source")()).To(Succeed())
+ g.Expect(CreateLogKamelet(t, operatorID, ns, "my-own-log-sink")()).To(Succeed())
t.Run("throw error test", func(t *testing.T) {
g.Expect(KamelBindWithID(t, operatorID, ns,
@@ -85,7 +85,7 @@ func TestPipe(t *testing.T) {
//Pipe with traits testing
t.Run("test Pipe with trait", func(t *testing.T) {
- g.Expect(CreateTimerKamelet(t, ns, "my-own-timer-source")()).To(Succeed())
+ g.Expect(CreateTimerKamelet(t, operatorID, ns, "my-own-timer-source")()).To(Succeed())
// Log sink kamelet exists from previous test
g.Expect(KamelBindWithID(t, operatorID, ns,
@@ -122,7 +122,7 @@ func TestPipe(t *testing.T) {
})
}
-func createErrorProducerKamelet(t *testing.T, ns string, name string) func() error {
+func createErrorProducerKamelet(t *testing.T, operatorID string, ns string, name string) func() error {
props := map[string]v1.JSONSchemaProp{
"message": {
Type: "string",
@@ -150,5 +150,5 @@ func createErrorProducerKamelet(t *testing.T, ns string, name string) func() err
},
}
- return CreateKamelet(t, ns, name, flow, props, nil)
+ return CreateKamelet(t, operatorID, ns, name, flow, props, nil)
}
diff --git a/e2e/common/misc/registry_maven_wagon_test.go b/e2e/common/misc/registry_maven_wagon_test.go
index fe2b90f10..6a13787c3 100644
--- a/e2e/common/misc/registry_maven_wagon_test.go
+++ b/e2e/common/misc/registry_maven_wagon_test.go
@@ -56,59 +56,59 @@ func TestImageRegistryIsAMavenRepository(t *testing.T) {
pom, err := filepath.Abs("files/registry/sample-decryption-1.0.pom")
require.NoError(t, err)
- g.Expect(KamelRunWithID(t, operatorID, ns, "files/registry/FoobarDecryption.java",
+ g.Expect(KamelRunWithID(t, operatorID, operatorNS, "files/registry/FoobarDecryption.java",
"--name", name,
"-d", fmt.Sprintf("file://%s", jar),
"-d", fmt.Sprintf("file://%s", pom),
).Execute()).To(Succeed())
- g.Eventually(IntegrationPodPhase(t, ns, name), TestTimeoutLong).Should(Equal(corev1.PodRunning))
- g.Eventually(IntegrationConditionStatus(t, ns, name, v1.IntegrationConditionReady), TestTimeoutMedium).Should(Equal(corev1.ConditionTrue))
- g.Eventually(IntegrationLogs(t, ns, name), TestTimeoutShort).Should(ContainSubstring("foobar"))
+ g.Eventually(IntegrationPodPhase(t, operatorNS, name), TestTimeoutLong).Should(Equal(corev1.PodRunning))
+ g.Eventually(IntegrationConditionStatus(t, operatorNS, name, v1.IntegrationConditionReady), TestTimeoutMedium).Should(Equal(corev1.ConditionTrue))
+ g.Eventually(IntegrationLogs(t, operatorNS, name), TestTimeoutShort).Should(ContainSubstring("foobar"))
})
t.Run("local files are mounted in the integration container at the default path", func(t *testing.T) {
name := RandomizedSuffixName("laughing-route-default-path")
- g.Expect(KamelRunWithID(t, operatorID, ns, "files/registry/LaughingRoute.java",
+ g.Expect(KamelRunWithID(t, operatorID, operatorNS, "files/registry/LaughingRoute.java",
"--name", name,
"-p", "location=/deployments/?filename=laugh.txt",
"-d", "file://files/registry/laugh.txt",
).Execute()).To(Succeed())
- g.Eventually(IntegrationPodPhase(t, ns, name), TestTimeoutLong).Should(Equal(corev1.PodRunning))
- g.Eventually(IntegrationConditionStatus(t, ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
- g.Eventually(IntegrationLogs(t, ns, name), TestTimeoutShort).Should(ContainSubstring("haha"))
+ g.Eventually(IntegrationPodPhase(t, operatorNS, name), TestTimeoutLong).Should(Equal(corev1.PodRunning))
+ g.Eventually(IntegrationConditionStatus(t, operatorNS, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
+ g.Eventually(IntegrationLogs(t, operatorNS, name), TestTimeoutShort).Should(ContainSubstring("haha"))
})
t.Run("local files are mounted in the integration container at a custom path", func(t *testing.T) {
name := RandomizedSuffixName("laughing-route-custom-path")
customPath := "this/is/a/custom/path/"
- g.Expect(KamelRunWithID(t, operatorID, ns, "files/registry/LaughingRoute.java",
+ g.Expect(KamelRunWithID(t, operatorID, operatorNS, "files/registry/LaughingRoute.java",
"--name", name,
"-p", fmt.Sprintf("location=%s", customPath),
"-d", fmt.Sprintf("file://files/registry/laugh.txt?targetPath=%slaugh.txt", customPath),
).Execute()).To(Succeed())
- g.Eventually(IntegrationPodPhase(t, ns, name), TestTimeoutLong).Should(Equal(corev1.PodRunning))
- g.Eventually(IntegrationConditionStatus(t, ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
- g.Eventually(IntegrationLogs(t, ns, name), TestTimeoutShort).Should(ContainSubstring("haha"))
+ g.Eventually(IntegrationPodPhase(t, operatorNS, name), TestTimeoutLong).Should(Equal(corev1.PodRunning))
+ g.Eventually(IntegrationConditionStatus(t, operatorNS, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
+ g.Eventually(IntegrationLogs(t, operatorNS, name), TestTimeoutShort).Should(ContainSubstring("haha"))
})
t.Run("local directory is mounted in the integration container", func(t *testing.T) {
name := RandomizedSuffixName("laughing-route-directory")
- g.Expect(KamelRunWithID(t, operatorID, ns, "files/registry/LaughingRoute.java",
+ g.Expect(KamelRunWithID(t, operatorID, operatorNS, "files/registry/LaughingRoute.java",
"--name", name,
"-p", "location=files/registry/",
"-d", fmt.Sprintf("file://files/registry/laughs/?targetPath=files/registry/"),
).Execute()).To(Succeed())
- g.Eventually(IntegrationPodPhase(t, ns, name), TestTimeoutLong).Should(Equal(corev1.PodRunning))
- g.Eventually(IntegrationConditionStatus(t, ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
- g.Eventually(IntegrationLogs(t, ns, name), TestTimeoutShort).Should(ContainSubstring("haha"))
- g.Eventually(IntegrationLogs(t, ns, name), TestTimeoutShort).Should(ContainSubstring("hehe"))
+ g.Eventually(IntegrationPodPhase(t, operatorNS, name), TestTimeoutLong).Should(Equal(corev1.PodRunning))
+ g.Eventually(IntegrationConditionStatus(t, operatorNS, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
+ g.Eventually(IntegrationLogs(t, operatorNS, name), TestTimeoutShort).Should(ContainSubstring("haha"))
+ g.Eventually(IntegrationLogs(t, operatorNS, name), TestTimeoutShort).Should(ContainSubstring("hehe"))
})
t.Run("pom file is extracted from JAR", func(t *testing.T) {
@@ -117,28 +117,28 @@ func TestImageRegistryIsAMavenRepository(t *testing.T) {
jar, err := filepath.Abs("files/registry/sample-decryption-1.0.jar")
require.NoError(t, err)
- g.Expect(KamelRunWithID(t, operatorID, ns, "files/registry/FoobarDecryption.java",
+ g.Expect(KamelRunWithID(t, operatorID, operatorNS, "files/registry/FoobarDecryption.java",
"--name", name,
"-d", fmt.Sprintf("file://%s", jar),
).Execute()).To(Succeed())
- g.Eventually(IntegrationPodPhase(t, ns, name), TestTimeoutLong).Should(Equal(corev1.PodRunning))
- g.Eventually(IntegrationConditionStatus(t, ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
- g.Eventually(IntegrationLogs(t, ns, name), TestTimeoutShort).Should(ContainSubstring("foobar"))
+ g.Eventually(IntegrationPodPhase(t, operatorNS, name), TestTimeoutLong).Should(Equal(corev1.PodRunning))
+ g.Eventually(IntegrationConditionStatus(t, operatorNS, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
+ g.Eventually(IntegrationLogs(t, operatorNS, name), TestTimeoutShort).Should(ContainSubstring("foobar"))
})
t.Run("dependency can be used at build time", func(t *testing.T) {
// Create integration that should run an Xslt transformation whose template needs to be present at build time
name := RandomizedSuffixName("xslt")
- g.Expect(KamelRunWithID(t, operatorID, ns, "files/registry/classpath/Xslt.java", "--name", name,
+ g.Expect(KamelRunWithID(t, operatorID, operatorNS, "files/registry/classpath/Xslt.java", "--name", name,
"-d", "file://files/registry/classpath/cheese.xsl?targetPath=xslt/cheese.xsl&classpath=true",
).Execute()).To(Succeed())
- g.Eventually(IntegrationPodPhase(t, ns, name), TestTimeoutLong).Should(Equal(corev1.PodRunning))
- g.Eventually(IntegrationConditionStatus(t, ns, name, v1.IntegrationConditionReady), TestTimeoutMedium).Should(Equal(corev1.ConditionTrue))
- g.Eventually(IntegrationLogs(t, ns, name), TestTimeoutShort).Should(ContainSubstring("<cheese><item>A</item></cheese>"))
+ g.Eventually(IntegrationPodPhase(t, operatorNS, name), TestTimeoutLong).Should(Equal(corev1.PodRunning))
+ g.Eventually(IntegrationConditionStatus(t, operatorNS, name, v1.IntegrationConditionReady), TestTimeoutMedium).Should(Equal(corev1.ConditionTrue))
+ g.Eventually(IntegrationLogs(t, operatorNS, name), TestTimeoutShort).Should(ContainSubstring("<cheese><item>A</item></cheese>"))
})
// Clean up
- g.Expect(Kamel(t, "delete", "--all", "-n", ns).Execute()).To(Succeed())
+ g.Expect(Kamel(t, "delete", "--all", "-n", operatorNS).Execute()).To(Succeed())
}
diff --git a/e2e/common/misc/structured_logs_test.go b/e2e/common/misc/structured_logs_test.go
index 2182f4579..9bb03c8c3 100644
--- a/e2e/common/misc/structured_logs_test.go
+++ b/e2e/common/misc/structured_logs_test.go
@@ -46,8 +46,7 @@ func TestStructuredLogs(t *testing.T) {
g.Eventually(IntegrationPodPhase(t, ns, name), TestTimeoutLong).Should(Equal(corev1.PodRunning))
g.Eventually(IntegrationConditionStatus(t, ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
- opns := GetEnvOrDefault("CAMEL_K_GLOBAL_OPERATOR_NS", TestDefaultNamespace)
- pod := OperatorPod(t, opns)()
+ pod := OperatorPod(t, operatorNS)()
g.Expect(pod).NotTo(BeNil())
// pod.Namespace could be different from ns if using global operator
diff --git a/e2e/common/runtimes/default.go b/e2e/common/runtimes/default.go
index dec3b52c7..7191aee4f 100644
--- a/e2e/common/runtimes/default.go
+++ b/e2e/common/runtimes/default.go
@@ -25,5 +25,4 @@ import (
"github.com/apache/camel-k/v2/pkg/platform"
)
-var ns = support.GetEnvOrDefault("CAMEL_K_TEST_NAMESPACE", support.TestDefaultNamespace)
var operatorID = support.GetEnvOrDefault("CAMEL_K_OPERATOR_ID", platform.DefaultPlatformName)
diff --git a/e2e/common/setup/testdata/Java.java b/e2e/common/setup/testdata/Java.java
deleted file mode 100644
index 66fef5fe8..000000000
--- a/e2e/common/setup/testdata/Java.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * 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.
- */
-
-import org.apache.camel.builder.RouteBuilder;
-
-public class Java extends RouteBuilder {
- @Override
- public void configure() throws Exception {
- from("timer:tick")
- .setHeader("m").constant("string!")
- .setBody().simple("Magic${header.m}")
- .log("${body}");
- }
-}
diff --git a/e2e/common/setup/testdata/yaml.yaml b/e2e/common/setup/testdata/yaml.yaml
deleted file mode 100644
index 8877c8557..000000000
--- a/e2e/common/setup/testdata/yaml.yaml
+++ /dev/null
@@ -1,28 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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.
-# ---------------------------------------------------------------------------
-
-- from:
- uri: "timer:yaml"
- parameters:
- period: "5000"
- steps:
- - setHeader:
- name: "m"
- constant: "string!"
- - setBody:
- simple: "Magic${header.m}"
- - to: "log:info"
diff --git a/e2e/common/traits/builder_test.go b/e2e/common/traits/builder_test.go
index 3f0ea3650..e9be79107 100644
--- a/e2e/common/traits/builder_test.go
+++ b/e2e/common/traits/builder_test.go
@@ -237,10 +237,9 @@ func TestBuilderTrait(t *testing.T) {
t.Run("Run maven profile", func(t *testing.T) {
name := RandomizedSuffixName("java-maven-profile")
- opns := GetEnvOrDefault("CAMEL_K_GLOBAL_OPERATOR_NS", TestDefaultNamespace)
- mavenProfile1Cm := newMavenProfileConfigMap(opns, "maven-profile-owasp", "owasp-profile")
+ mavenProfile1Cm := newMavenProfileConfigMap(operatorNS, "maven-profile-owasp", "owasp-profile")
g.Expect(TestClient(t).Create(TestContext, mavenProfile1Cm)).To(Succeed())
- mavenProfile2Cm := newMavenProfileConfigMap(opns, "maven-profile-dependency", "dependency-profile")
+ mavenProfile2Cm := newMavenProfileConfigMap(operatorNS, "maven-profile-dependency", "dependency-profile")
g.Expect(TestClient(t).Create(TestContext, mavenProfile2Cm)).To(Succeed())
g.Expect(KamelRunWithID(t, operatorID, ns, "files/Java.java",
diff --git a/e2e/common/traits/default.go b/e2e/common/traits/default.go
index bc4034843..4721ebd36 100644
--- a/e2e/common/traits/default.go
+++ b/e2e/common/traits/default.go
@@ -25,5 +25,5 @@ import (
"github.com/apache/camel-k/v2/pkg/platform"
)
-var ns = support.GetEnvOrDefault("CAMEL_K_TEST_NAMESPACE", support.TestDefaultNamespace)
-var operatorID = support.GetEnvOrDefault("CAMEL_K_OPERATOR_ID", platform.DefaultPlatformName)
+var operatorNS = support.TestDefaultNamespace + "-traits"
+var operatorID = platform.DefaultPlatformName + "-traits"
diff --git a/e2e/common/traits/deployment_test.go b/e2e/common/traits/deployment_test.go
index 6021b70a7..1ed16e07b 100644
--- a/e2e/common/traits/deployment_test.go
+++ b/e2e/common/traits/deployment_test.go
@@ -80,6 +80,8 @@ func TestRecreateDeploymentStrategyTrait(t *testing.T) {
}
func TestRollingUpdateDeploymentStrategyTrait(t *testing.T) {
+ t.Parallel()
+
WithNewTestNamespace(t, func(g *WithT, ns string) {
t.Run("Run with RollingUpdate Deployment Strategy", func(t *testing.T) {
diff --git a/e2e/common/traits/health_test.go b/e2e/common/traits/health_test.go
index 658c66535..87bca537f 100644
--- a/e2e/common/traits/health_test.go
+++ b/e2e/common/traits/health_test.go
@@ -252,8 +252,8 @@ func TestHealthTrait(t *testing.T) {
source := RandomizedSuffixName("my-health-timer-source")
sink := RandomizedSuffixName("my-health-log-sink")
- g.Expect(CreateTimerKamelet(t, ns, source)()).To(Succeed())
- g.Expect(CreateLogKamelet(t, ns, sink)()).To(Succeed())
+ g.Expect(CreateTimerKamelet(t, operatorID, ns, source)()).To(Succeed())
+ g.Expect(CreateLogKamelet(t, operatorID, ns, sink)()).To(Succeed())
g.Expect(KamelBindWithID(t, operatorID, ns,
source,
diff --git a/e2e/common/traits/istio_test.go b/e2e/common/traits/istio_test.go
index 3a80c4278..95c3323c8 100644
--- a/e2e/common/traits/istio_test.go
+++ b/e2e/common/traits/istio_test.go
@@ -23,6 +23,7 @@ limitations under the License.
package traits
import (
+ "fmt"
"testing"
. "github.com/onsi/gomega"
@@ -38,6 +39,12 @@ func TestIstioTrait(t *testing.T) {
t.Parallel()
WithNewTestNamespace(t, func(g *WithT, ns string) {
+ operatorID := fmt.Sprintf("camel-k-%s", ns)
+ g.Expect(CopyCamelCatalog(t, ns, operatorID)).To(Succeed())
+ g.Expect(CopyIntegrationKits(t, ns, operatorID)).To(Succeed())
+ g.Expect(KamelInstallWithID(t, operatorID, ns).Execute()).To(Succeed())
+
+ g.Eventually(SelectedPlatformPhase(t, ns, operatorID), TestTimeoutMedium).Should(Equal(v1.IntegrationPlatformPhaseReady))
t.Run("Run Java with Istio", func(t *testing.T) {
name := RandomizedSuffixName("java")
diff --git a/e2e/common/traits/kamelet_test.go b/e2e/common/traits/kamelet_test.go
index 31e27323a..b79870091 100644
--- a/e2e/common/traits/kamelet_test.go
+++ b/e2e/common/traits/kamelet_test.go
@@ -49,7 +49,7 @@ func TestKameletTrait(t *testing.T) {
},
},
}
- g.Expect(CreateKamelet(t, ns, "capabilities-webhook-source", template, nil, nil)()).To(Succeed())
+ g.Expect(CreateKamelet(t, operatorID, ns, "capabilities-webhook-source", template, nil, nil)()).To(Succeed())
name := RandomizedSuffixName("webhook")
g.Expect(KamelRunWithID(t, operatorID, ns, "files/webhook.yaml", "--name", name).Execute()).To(Succeed())
diff --git a/e2e/common/setup/main_test.go b/e2e/common/traits/main_test.go
similarity index 50%
rename from e2e/common/setup/main_test.go
rename to e2e/common/traits/main_test.go
index d303f2483..f7f835f6a 100644
--- a/e2e/common/setup/main_test.go
+++ b/e2e/common/traits/main_test.go
@@ -20,48 +20,43 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
-package setup
+package traits
import (
"fmt"
+ v1 "github.com/apache/camel-k/v2/pkg/apis/camel/v1"
"os"
"testing"
. "github.com/onsi/gomega"
. "github.com/apache/camel-k/v2/e2e/support"
- v1 "github.com/apache/camel-k/v2/pkg/apis/camel/v1"
- "github.com/apache/camel-k/v2/pkg/platform"
-
- corev1 "k8s.io/api/core/v1"
)
func TestMain(m *testing.M) {
- fastSetup := GetEnvOrDefault("CAMEL_K_E2E_FAST_SETUP", "false")
- if fastSetup != "true" {
+ justCompile := GetEnvOrDefault("CAMEL_K_E2E_JUST_COMPILE", "false")
+ if justCompile == "true" {
os.Exit(m.Run())
}
- operatorID := platform.DefaultPlatformName
- ns := GetEnvOrDefault("CAMEL_K_GLOBAL_OPERATOR_NS", TestDefaultNamespace)
-
g := NewGomega(func(message string, callerSkip ...int) {
- fmt.Printf("Test fast setup failed! - %s\n", message)
+ fmt.Printf("Test setup failed! - %s\n", message)
})
var t *testing.T
g.Expect(TestClient(t)).ShouldNot(BeNil())
- g.Expect(KamelRunWithID(t, operatorID, ns, "testdata/Java.java").Execute()).To(Succeed())
- g.Eventually(IntegrationPodPhase(t, ns, "java"), TestTimeoutLong).Should(Equal(corev1.PodRunning))
- g.Eventually(IntegrationConditionStatus(t, ns, "java", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
- g.Eventually(IntegrationLogs(t, ns, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
+ // Install global operator for tests in this package, all tests must use this operatorID so tests can run in parallel and gain execution speed
+ g.Expect(NewNamedTestNamespace(t, operatorNS, false)).ShouldNot(BeNil())
+ g.Expect(CopyCamelCatalog(t, operatorNS, operatorID)).To(Succeed())
+ g.Expect(KamelInstallWithID(t, operatorID, operatorNS, "--global", "--force").Execute()).To(Succeed())
+ g.Eventually(SelectedPlatformPhase(t, operatorNS, operatorID), TestTimeoutMedium).Should(Equal(v1.IntegrationPlatformPhaseReady))
+
+ exitCode := m.Run()
- g.Expect(KamelRunWithID(t, operatorID, ns, "testdata/yaml.yaml").Execute()).To(Succeed())
- g.Eventually(IntegrationPodPhase(t, ns, "yaml"), TestTimeoutLong).Should(Equal(corev1.PodRunning))
- g.Eventually(IntegrationConditionStatus(t, ns, "yaml", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
- g.Eventually(IntegrationLogs(t, ns, "yaml"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
+ g.Expect(UninstallFromNamespace(t, operatorNS))
+ g.Expect(DeleteNamespace(t, operatorNS)).To(Succeed())
- os.Exit(m.Run())
+ os.Exit(exitCode)
}
diff --git a/e2e/common/traits/service_binding_test.go b/e2e/common/traits/service_binding_test.go
index 656b90360..a6b66ef87 100644
--- a/e2e/common/traits/service_binding_test.go
+++ b/e2e/common/traits/service_binding_test.go
@@ -97,7 +97,7 @@ func TestServiceBindingTrait(t *testing.T) {
}
serviceRef := fmt.Sprintf("%s:%s/%s", service.TypeMeta.Kind, ns, service.ObjectMeta.Name)
g.Expect(TestClient(t).Create(TestContext, service)).To(Succeed())
- g.Expect(CreateTimerKamelet(t, ns, "my-timer-source")()).To(Succeed())
+ g.Expect(CreateTimerKamelet(t, operatorID, ns, "my-timer-source")()).To(Succeed())
g.Expect(KamelBindWithID(t, operatorID, ns, "my-timer-source", "log:info",
"-p", "source.message=Hello+world",
"--connect", serviceRef).Execute()).To(Succeed())
diff --git a/e2e/install/cli/global_kamelet_test.go b/e2e/install/cli/global_kamelet_test.go
index 5becde9c3..15ae5871e 100644
--- a/e2e/install/cli/global_kamelet_test.go
+++ b/e2e/install/cli/global_kamelet_test.go
@@ -40,7 +40,7 @@ func TestRunGlobalKamelet(t *testing.T) {
// NS2: namespace without operator
WithNewTestNamespace(t, func(g *WithT, ns2 string) {
- g.Expect(CreateTimerKamelet(t, ns2, "my-own-timer-source")()).To(Succeed())
+ g.Expect(CreateTimerKamelet(t, operatorID, ns2, "my-own-timer-source")()).To(Succeed())
g.Expect(KamelInstallWithID(t, operatorID, ns2, "--skip-operator-setup", "--olm=false").Execute()).To(Succeed())
@@ -53,7 +53,7 @@ func TestRunGlobalKamelet(t *testing.T) {
t.Run("Global operator + global kamelet test", func(t *testing.T) {
- g.Expect(CreateTimerKamelet(t, operatorNamespace, "my-own-timer-source")()).To(Succeed())
+ g.Expect(CreateTimerKamelet(t, operatorID, operatorNamespace, "my-own-timer-source")()).To(Succeed())
// NS3: namespace without operator
WithNewTestNamespace(t, func(g *WithT, ns3 string) {
diff --git a/e2e/knative/kamelet_test.go b/e2e/knative/kamelet_test.go
index 2826af61a..50c76767b 100644
--- a/e2e/knative/kamelet_test.go
+++ b/e2e/knative/kamelet_test.go
@@ -44,7 +44,7 @@ func TestKameletChange(t *testing.T) {
knChannel := "test-kamelet-messages"
knChannelConf := fmt.Sprintf("%s:InMemoryChannel:%s", messaging.SchemeGroupVersion.String(), knChannel)
timerSource := "my-timer-source"
- g.Expect(CreateTimerKamelet(t, ns, timerSource)()).To(Succeed())
+ g.Expect(CreateTimerKamelet(t, operatorID, ns, timerSource)()).To(Succeed())
g.Expect(CreateKnativeChannel(t, ns, knChannel)()).To(Succeed())
// Consumer route that will read from the KNative channel
g.Expect(KamelRunWithID(t, operatorID, ns, "files/test-kamelet-display.groovy", "-w").Execute()).To(Succeed())
diff --git a/e2e/support/test_support.go b/e2e/support/test_support.go
index 95564f1ff..3fac8750c 100644
--- a/e2e/support/test_support.go
+++ b/e2e/support/test_support.go
@@ -2668,7 +2668,7 @@ func CreateKnativeBroker(t *testing.T, ns string, name string) func() error {
Kamelets
*/
-func CreateKamelet(t *testing.T, ns string, name string, template map[string]interface{}, properties map[string]v1.JSONSchemaProp, labels map[string]string) func() error {
+func CreateKamelet(t *testing.T, operatorID string, ns string, name string, template map[string]interface{}, properties map[string]v1.JSONSchemaProp, labels map[string]string) func() error {
return func() error {
kamelet := v1.Kamelet{
ObjectMeta: metav1.ObjectMeta{
@@ -2683,11 +2683,13 @@ func CreateKamelet(t *testing.T, ns string, name string, template map[string]int
Template: asTemplate(t, template),
},
}
+
+ kamelet.SetOperatorID(operatorID)
return TestClient(t).Create(TestContext, &kamelet)
}
}
-func CreateTimerKamelet(t *testing.T, ns string, name string) func() error {
+func CreateTimerKamelet(t *testing.T, operatorID string, ns string, name string) func() error {
props := map[string]v1.JSONSchemaProp{
"message": {
Type: "string",
@@ -2710,7 +2712,7 @@ func CreateTimerKamelet(t *testing.T, ns string, name string) func() error {
},
}
- return CreateKamelet(t, ns, name, flow, props, nil)
+ return CreateKamelet(t, operatorID, ns, name, flow, props, nil)
}
func DeleteKamelet(t *testing.T, ns string, name string) error {
@@ -2869,7 +2871,7 @@ func deleteKnativeBroker(t *testing.T, ns metav1.Object) {
func deleteTestNamespace(t *testing.T, ns ctrl.Object) {
value, saveNS := os.LookupEnv("CAMEL_K_TEST_SAVE_FAILED_TEST_NAMESPACE")
- if t.Failed() && saveNS && value == "true" {
+ if t != nil && t.Failed() && saveNS && value == "true" {
t.Logf("Warning: retaining failed test project %q", ns.GetName())
return
}
@@ -2946,12 +2948,10 @@ func DeleteNamespace(t *testing.T, ns string) error {
}
func NewTestNamespace(t *testing.T, injectKnativeBroker bool) ctrl.Object {
- brokerLabel := "eventing.knative.dev/injection"
name := os.Getenv("CAMEL_K_TEST_NS")
if name == "" {
name = "test-" + uuid.New().String()
}
- c := TestClient(t)
if exists, err := testNamespaceExists(t, name); err != nil {
failTest(t, err)
@@ -2960,6 +2960,13 @@ func NewTestNamespace(t *testing.T, injectKnativeBroker bool) ctrl.Object {
name = fmt.Sprintf("%s-%d", name, time.Now().Second())
}
+ return NewNamedTestNamespace(t, name, injectKnativeBroker)
+}
+
+func NewNamedTestNamespace(t *testing.T, name string, injectKnativeBroker bool) ctrl.Object {
+ brokerLabel := "eventing.knative.dev/injection"
+ c := TestClient(t)
+
if oc, err := openshift.IsOpenShift(TestClient(t)); err != nil {
failTest(t, err)
} else if oc {
@@ -3058,7 +3065,7 @@ func GetOutputStringAsync(cmd *cobra.Command) func() string {
}
}
-func CreateLogKamelet(t *testing.T, ns string, name string) func() error {
+func CreateLogKamelet(t *testing.T, operatorID string, ns string, name string) func() error {
flow := map[string]interface{}{
"from": map[string]interface{}{
"uri": "kamelet:source",
@@ -3076,7 +3083,7 @@ func CreateLogKamelet(t *testing.T, ns string, name string) func() error {
},
}
- return CreateKamelet(t, ns, name, flow, props, nil)
+ return CreateKamelet(t, operatorID, ns, name, flow, props, nil)
}
func GetCIProcessID() string {
diff --git a/e2e/support/test_util.go b/e2e/support/test_util.go
index 59fd514de..4973a2599 100644
--- a/e2e/support/test_util.go
+++ b/e2e/support/test_util.go
@@ -117,3 +117,8 @@ func Cleanup(t *testing.T) {
func UninstallAll(t *testing.T) error {
return Kamel(t, "uninstall", "--olm=false", "--all").Execute()
}
+
+// UninstallFromNamespace Removes operator from given namespace
+func UninstallFromNamespace(t *testing.T, ns string) error {
+ return Kamel(t, "uninstall", "--olm=false", "-n", ns).Execute()
+}
diff --git a/pkg/apis/camel/v1/kamelet_types_support.go b/pkg/apis/camel/v1/kamelet_types_support.go
index a95f425f1..e8818cb9e 100644
--- a/pkg/apis/camel/v1/kamelet_types_support.go
+++ b/pkg/apis/camel/v1/kamelet_types_support.go
@@ -214,3 +214,8 @@ func NewKameletList() KameletList {
},
}
}
+
+// SetOperatorID sets the given operator id as an annotation.
+func (k *Kamelet) SetOperatorID(operatorID string) {
+ SetAnnotation(&k.ObjectMeta, OperatorIDAnnotation, operatorID)
+}
diff --git a/script/Makefile b/script/Makefile
index e2e60d58f..68ed85910 100644
--- a/script/Makefile
+++ b/script/Makefile
@@ -250,13 +250,7 @@ test: do-build
#
test-common: do-build
FAILED=0; STAGING_RUNTIME_REPO="$(STAGING_RUNTIME_REPO)"; \
- go test -timeout 10m -v ./e2e/common/setup -tags=integration $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || FAILED=1; \
- go test -timeout 30m -v ./e2e/common/languages -tags=integration -parallel=$(TEST_COMMON_PARALLEL_COUNT) $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || FAILED=1; \
- go test -timeout 30m -v ./e2e/common/cli -tags=integration -parallel=$(TEST_COMMON_PARALLEL_COUNT) $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || FAILED=1; \
- go test -timeout 30m -v ./e2e/common/config -tags=integration -parallel=$(TEST_COMMON_PARALLEL_COUNT) $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || FAILED=1; \
- go test -timeout 30m -v ./e2e/common/misc -tags=integration -parallel=$(TEST_COMMON_PARALLEL_COUNT) $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || FAILED=1; \
- go test -timeout 60m -v ./e2e/common/traits -tags=integration -parallel=$(TEST_COMMON_PARALLEL_COUNT) $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || FAILED=1; \
- go test -timeout 20m -v ./e2e/common/runtimes -tags=integration -parallel=$(TEST_COMMON_PARALLEL_COUNT) $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || FAILED=1; \
+ go test -timeout 90m -v ./e2e/common/... -tags=integration -parallel=$(TEST_COMMON_PARALLEL_COUNT) $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || FAILED=1; \
exit $${FAILED}
#
@@ -264,7 +258,6 @@ test-common: do-build
#
test-smoke: do-build
FAILED=0; STAGING_RUNTIME_REPO="$(STAGING_RUNTIME_REPO)"; \
- go test -timeout 10m -v ./e2e/common/setup -tags=integration $(TEST_COMMON_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || FAILED=1; \
go test -timeout 30m -v ./e2e/common/languages -tags=integration -parallel=$(TEST_COMMON_PARALLEL_COUNT) $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || FAILED=1; \
go test -timeout 30m -v \
./e2e/common/misc/default.go \
@@ -370,6 +363,7 @@ endif
build-compile-integration-tests:
@echo "####### Compiling integration tests..."
+ export CAMEL_K_E2E_JUST_COMPILE="true" ;\
go test -run nope -tags="integration" ./e2e/...
clean: