Skip to content

Commit

Permalink
chore(test): improve knative kamelet binding test
Browse files Browse the repository at this point in the history
I've removed some expectation as based on timing an likely to randomly
fail.
  • Loading branch information
lburgazzoli committed Jan 20, 2023
1 parent 44f53b7 commit 9d2fa69
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 18 deletions.
22 changes: 4 additions & 18 deletions e2e/global/knative/kamelet_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ func TestKameletChange(t *testing.T) {
WithNewTestNamespace(t, func(ns string) {
operatorID := "camel-k-kamelet-change"
timerSource := "my-timer-source"

Expect(KamelInstallWithID(operatorID, ns).Execute()).To(Succeed())
Expect(CreateTimerKamelet(ns, timerSource)()).To(Succeed())
Expect(CreateKnativeChannel(ns, "messages")()).To(Succeed())
Expand All @@ -66,44 +67,29 @@ func TestKameletChange(t *testing.T) {
"trait.camel.apache.org/health.readiness-initial-delay": "10",
}

// Create the KameletBinding
Expect(BindKameletTo(ns, timerBinding, annotations, from, to, map[string]string{"message": "message is Hello"}, map[string]string{})()).To(Succeed())

Eventually(KameletBindingConditionStatus(ns, timerBinding, v1alpha1.KameletBindingConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionFalse))
Eventually(KameletBindingCondition(ns, timerBinding, v1alpha1.KameletBindingConditionReady), TestTimeoutMedium).Should(And(
WithTransform(KameletBindingConditionReason, Equal(v1.IntegrationConditionDeploymentProgressingReason)),
WithTransform(KameletBindingConditionMessage, Or(
Equal("0/1 updated replicas"),
Equal("0/1 ready replicas"),
))))

Eventually(IntegrationPodPhase(ns, timerBinding), TestTimeoutLong).Should(Equal(corev1.PodRunning))
Eventually(IntegrationConditionStatus(ns, "timer-binding", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
Eventually(IntegrationLogs(ns, "display"), TestTimeoutShort).Should(ContainSubstring("message is Hello"))

Eventually(KameletBindingConditionStatus(ns, timerBinding, v1alpha1.KameletBindingConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
Eventually(KameletBindingCondition(ns, timerBinding, v1alpha1.KameletBindingConditionReady), TestTimeoutMedium).Should(And(
WithTransform(KameletBindingConditionStatusExtract, Equal(corev1.ConditionTrue)),
WithTransform(KameletBindingConditionReason, Equal(v1.IntegrationConditionDeploymentReadyReason)),
WithTransform(KameletBindingConditionMessage, Equal(fmt.Sprintf("1/1 ready replicas"))),
))

// Update the KameletBinding
Expect(BindKameletTo(ns, "timer-binding", annotations, from, to, map[string]string{"message": "message is Hi"}, map[string]string{})()).To(Succeed())

Eventually(KameletBindingConditionStatus(ns, timerBinding, v1alpha1.KameletBindingConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionFalse))
Eventually(KameletBindingCondition(ns, timerBinding, v1alpha1.KameletBindingConditionReady), TestTimeoutMedium).Should(And(
WithTransform(KameletBindingConditionReason, Equal(v1.IntegrationConditionDeploymentProgressingReason)),
WithTransform(KameletBindingConditionMessage, Or(
Equal("0/1 updated replicas"),
Equal("0/1 ready replicas"),
))))

Eventually(IntegrationPodPhase(ns, "timer-binding"), TestTimeoutLong).Should(Equal(corev1.PodRunning))
Eventually(IntegrationConditionStatus(ns, "timer-binding", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
Eventually(IntegrationLogs(ns, "display"), TestTimeoutShort).Should(ContainSubstring("message is Hi"))

Eventually(KameletBindingConditionStatus(ns, timerBinding, v1alpha1.KameletBindingConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
Eventually(KameletBindingCondition(ns, timerBinding, v1alpha1.KameletBindingConditionReady), TestTimeoutMedium).
Should(And(
WithTransform(KameletBindingConditionStatusExtract, Equal(corev1.ConditionTrue)),
WithTransform(KameletBindingConditionReason, Equal(v1.IntegrationConditionDeploymentReadyReason)),
WithTransform(KameletBindingConditionMessage, Equal("1/1 ready replicas")),
))
Expand Down
7 changes: 7 additions & 0 deletions e2e/support/test_support.go
Original file line number Diff line number Diff line change
Expand Up @@ -1089,6 +1089,13 @@ func KameletBindingCondition(ns string, name string, conditionType v1alpha1.Kame
}
}

func KameletBindingConditionStatusExtract(c *v1alpha1.KameletBindingCondition) corev1.ConditionStatus {
if c == nil {
return ""
}
return c.Status
}

func KameletBindingConditionReason(c *v1alpha1.KameletBindingCondition) string {
if c == nil {
return ""
Expand Down

0 comments on commit 9d2fa69

Please sign in to comment.