test: Add integration in error phase scaling e2e test
@@ -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())
})
}
