Skip to content

Commit

Permalink
Fix apache#1799: add global behavior e2e test
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolaferraro committed Mar 1, 2021
1 parent 38b544c commit 17f7f57
Showing 1 changed file with 56 additions and 1 deletion.
57 changes: 56 additions & 1 deletion e2e/builder/global_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,10 @@ import (
"os"
"testing"

camelv1 "github.com/apache/camel-k/pkg/apis/camel/v1"
. "github.com/onsi/gomega"
"github.com/stretchr/testify/assert"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

v1 "k8s.io/api/core/v1"

Expand All @@ -49,14 +51,17 @@ func TestRunGlobalInstall(t *testing.T) {
WithNewTestNamespace(t, func(ns string) {
Expect(Kamel("install", "-n", ns, "--global").Execute()).To(Succeed())

// NS2: namespace without operator
// NS2: namespace without operator but with platform
WithNewTestNamespace(t, func(ns2 string) {
// Creating platform
Expect(Kamel("install", "-n", ns2, "--skip-operator-setup", "--olm=false").Execute()).To(Succeed())

Expect(Kamel("run", "-n", ns2, "files/Java.java").Execute()).To(Succeed())
Eventually(IntegrationPodPhase(ns2, "java"), TestTimeoutMedium).Should(Equal(v1.PodRunning))
Eventually(IntegrationLogs(ns2, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
Expect(Kamel("delete", "--all", "-n", ns2).Execute()).To(Succeed())
Expect(Kits(ns2)()).Should(HaveLen(1))
Expect(Kits(ns)()).Should(HaveLen(0))

Expect(ConfigMap(ns2, platform.OperatorLockName)()).To(BeNil(), "No locking configmap expected")
})
Expand All @@ -75,6 +80,56 @@ func TestRunGlobalInstall(t *testing.T) {
)
})

// NS4: namespace without operator or platform
WithNewTestNamespace(t, func(ns4 string) {
Expect(Kamel("run", "-n", ns4, "files/Java.java").Execute()).To(Succeed())
Eventually(IntegrationPodPhase(ns4, "java"), TestTimeoutMedium).Should(Equal(v1.PodRunning))
Eventually(IntegrationLogs(ns4, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
Expect(Kamel("delete", "--all", "-n", ns4).Execute()).To(Succeed())
Expect(Kits(ns4)()).Should(HaveLen(0))
Expect(Kits(ns)()).Should(HaveLen(1)) // Kit built globally

Expect(ConfigMap(ns4, platform.OperatorLockName)()).To(BeNil(), "No locking configmap expected")
})

// NS5: second namespace without operator or platform, using an external kit
WithNewTestNamespace(t, func(ns5 string) {
Expect(Kamel("run", "-n", ns5, "files/Java.java").Execute()).To(Succeed())
Eventually(IntegrationPodPhase(ns5, "java"), TestTimeoutMedium).Should(Equal(v1.PodRunning))
Eventually(IntegrationLogs(ns5, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
Expect(Kamel("delete", "--all", "-n", ns5).Execute()).To(Succeed())
Expect(Kits(ns5)()).Should(HaveLen(0))
globalKits := Kits(ns)()
Expect(globalKits).Should(HaveLen(1)) // Reusing the same global kit
if len(globalKits) == 1 {
kit := globalKits[0]
// external kit mirroring the global one
externalKit := camelv1.IntegrationKit{
ObjectMeta: metav1.ObjectMeta{
Namespace: ns5,
Name: "external",
Labels: map[string]string{
"camel.apache.org/kit.type": camelv1.IntegrationKitTypeExternal,
},
},
Spec: camelv1.IntegrationKitSpec{
Image: kit.Status.Image,
},
}
Expect(TestClient().Create(TestContext, &externalKit)).Should(BeNil())

Expect(Kamel("run", "-n", ns5, "files/Java.java", "--kit", "external").Execute()).To(Succeed())
Eventually(IntegrationPodPhase(ns5, "java"), TestTimeoutMedium).Should(Equal(v1.PodRunning))
Eventually(IntegrationLogs(ns5, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
Expect(IntegrationKit(ns5, "java")).Should(Equal("external"))
Expect(Kamel("delete", "--all", "-n", ns5).Execute()).To(Succeed())
Expect(Kits(ns5)()).Should(HaveLen(1)) // the external one
Expect(Kits(ns)()).Should(HaveLen(1)) // the global one
}

Expect(ConfigMap(ns5, platform.OperatorLockName)()).To(BeNil(), "No locking configmap expected")
})

Expect(Kamel("uninstall", "-n", ns, "--skip-crd", "--skip-cluster-roles").Execute()).To(Succeed())
})
}

0 comments on commit 17f7f57

Please sign in to comment.