From f23eecc4f57d78348abb8b5ba543278f000d2dcd Mon Sep 17 00:00:00 2001 From: Antonin Stefanutti Date: Fri, 17 Sep 2021 12:44:05 +0200 Subject: [PATCH] test: Add integration in error phase scaling e2e test --- e2e/common/integration_fail_test.go | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/e2e/common/integration_fail_test.go b/e2e/common/integration_fail_test.go index f2b3940ebf..720e1328e8 100644 --- a/e2e/common/integration_fail_test.go +++ b/e2e/common/integration_fail_test.go @@ -25,21 +25,37 @@ import ( "testing" . "github.com/onsi/gomega" + "github.com/onsi/gomega/gstruct" + + v1 "k8s.io/api/core/v1" . "github.com/apache/camel-k/e2e/support" camelv1 "github.com/apache/camel-k/pkg/apis/camel/v1" - v1 "k8s.io/api/core/v1" ) func TestBadRouteIntegration(t *testing.T) { WithNewTestNamespace(t, func(ns string) { Expect(Kamel("install", "-n", ns).Execute()).To(Succeed()) + t.Run("run bad java route", func(t *testing.T) { - Expect(Kamel("run", "-n", ns, "files/BadRoute.java").Execute()).To(Succeed()) - Eventually(IntegrationPodPhase(ns, "bad-route"), TestTimeoutMedium).Should(Equal(v1.PodRunning)) - Eventually(IntegrationPhase(ns, "bad-route"), TestTimeoutShort).Should(Equal(camelv1.IntegrationPhaseError)) - Eventually(IntegrationCondition(ns, "bad-route", camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionFalse)) - Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) + name := "bad-route" + Expect(Kamel("run", "-n", ns, "files/BadRoute.java", "--name", name).Execute()).To(Succeed()) + Eventually(IntegrationPodPhase(ns, name), TestTimeoutMedium).Should(Equal(v1.PodRunning)) + Eventually(IntegrationPhase(ns, name), TestTimeoutShort).Should(Equal(camelv1.IntegrationPhaseError)) + Eventually(IntegrationCondition(ns, name, camelv1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(v1.ConditionFalse)) + + // Make sure the Integration can be scaled + Expect(ScaleIntegration(ns, name, 2)).To(Succeed()) + // Check the scale cascades into the Deployment scale + Eventually(IntegrationPods(ns, name), TestTimeoutShort).Should(HaveLen(2)) + // Check it also cascades into the Integration scale subresource Status field + Eventually(IntegrationStatusReplicas(ns, name), TestTimeoutShort). + Should(gstruct.PointTo(BeNumerically("==", 2))) + // Check the Integration stays in error phase + Eventually(IntegrationPhase(ns, name), TestTimeoutShort).Should(Equal(camelv1.IntegrationPhaseError)) }) + + // Clean up + Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) }