You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2021/12/07 13:51:56 UTC
[camel] 05/08: CAMEL-17261: camel-yaml-dsl - Add support for loading Camel K KameletBinding file. WIP.
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
commit c2e6268c0ad854d1f8eb5e926d6590cc68b9cc13
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Dec 7 11:41:43 2021 +0100
CAMEL-17261: camel-yaml-dsl - Add support for loading Camel K KameletBinding file. WIP.
---
.../camel/dsl/yaml/KameletBindingLoaderTest.groovy | 64 +++++++++++++++++++++-
1 file changed, 61 insertions(+), 3 deletions(-)
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletBindingLoaderTest.groovy b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletBindingLoaderTest.groovy
index 7e27750..166bdc5 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletBindingLoaderTest.groovy
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletBindingLoaderTest.groovy
@@ -16,17 +16,19 @@
*/
package org.apache.camel.dsl.yaml
+import org.apache.camel.Exchange
+import org.apache.camel.Processor
import org.apache.camel.builder.DeadLetterChannelBuilder
+import org.apache.camel.component.mock.MockEndpoint
import org.apache.camel.dsl.yaml.support.YamlTestSupport
import org.apache.camel.model.ToDefinition
-import org.apache.camel.processor.errorhandler.DeadLetterChannel
class KameletBindingLoaderTest extends YamlTestSupport {
@Override
def doSetup() {
context.start()
}
-/*
+
def "kamelet binding from kamelet to kamelet"() {
when:
loadBindings('''
@@ -280,7 +282,7 @@ class KameletBindingLoaderTest extends YamlTestSupport {
}
}
}
-*/
+
def "kamelet binding with error handler"() {
when:
@@ -341,4 +343,60 @@ class KameletBindingLoaderTest extends YamlTestSupport {
}
}
+ def "kamelet binding with error handler move to dlq"() {
+ when:
+
+ context.registry.bind 'chaos', new Processor() {
+ @Override
+ void process(Exchange exchange) throws Exception {
+ throw new IllegalArgumentException("Forced");
+ }
+ };
+
+ loadBindings('''
+ apiVersion: camel.apache.org/v1alpha1
+ kind: KameletBinding
+ metadata:
+ name: timer-event-source
+ spec:
+ source:
+ ref:
+ kind: Kamelet
+ apiVersion: camel.apache.org/v1
+ name: timer-source
+ properties:
+ message: "Hello world!"
+ steps:
+ - uri: bean:chaos
+ sink:
+ ref:
+ kind: Kamelet
+ apiVersion: camel.apache.org/v1alpha1
+ name: log-sink
+ errorHandler:
+ dead-letter-channel:
+ endpoint:
+ uri: mock:dead
+ parameters:
+ maximumRedeliveries: 3
+ redeliveryDelay: 100
+ ''')
+ then:
+ context.routeDefinitions.size() == 3
+
+ MockEndpoint mock = context.getEndpoint("mock:dead", MockEndpoint.class)
+ mock.expectedMinimumMessageCount(1)
+
+ mock.assertIsSatisfied()
+
+ with (context.routeDefinitions[0]) {
+ errorHandlerFactory != null
+ errorHandlerFactory instanceof DeadLetterChannelBuilder
+ var eh = errorHandlerFactory as DeadLetterChannelBuilder
+ eh.deadLetterUri == 'mock:dead'
+ eh.redeliveryPolicy.maximumRedeliveries == 3
+ eh.redeliveryPolicy.redeliveryDelay == 100
+ }
+ }
+
}