Skip to content

Commit

Permalink
test: Add integration in error phase scaling e2e test
Browse files Browse the repository at this point in the history
  • Loading branch information
astefanutti committed Sep 21, 2021
1 parent e11de8e commit f23eecc
Showing 1 changed file with 22 additions and 6 deletions.
28 changes: 22 additions & 6 deletions e2e/common/integration_fail_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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())
})
}

0 comments on commit f23eecc

Please sign in to comment.