This is an automated email from the ASF dual-hosted git repository.
lburgazzoli pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 31a3851 yaml-dsl: add tests for kamelet eip and flow mode
31a3851 is described below
commit 31a38516b364b4461b3c3d3717650dc72cea6162
Author: Luca Burgazzoli <[email protected]>
AuthorDate: Wed Jun 9 09:24:41 2021 +0200
yaml-dsl: add tests for kamelet eip and flow mode
---
.../apache/camel/dsl/yaml/KameletLoaderTest.groovy | 53 ++++++++++++++++++++++
.../org/apache/camel/dsl/yaml/KameletTest.groovy | 36 +++++++++++++++
2 files changed, 89 insertions(+)
diff --git
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletLoaderTest.groovy
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletLoaderTest.groovy
index 412bf01..d5fed52 100644
---
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletLoaderTest.groovy
+++
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletLoaderTest.groovy
@@ -17,6 +17,7 @@
package org.apache.camel.dsl.yaml
import org.apache.camel.component.mock.MockEndpoint
+import org.apache.camel.dsl.yaml.common.YamlDeserializationMode
import org.apache.camel.dsl.yaml.support.YamlTestSupport
import org.apache.camel.model.RouteTemplateDefinition
import org.apache.camel.model.ToDefinition
@@ -257,4 +258,56 @@ class KameletLoaderTest extends YamlTestSupport {
MockEndpoint.assertIsSatisfied(context)
}
+
+ def "kamelet with filter and flow"() {
+ setup:
+ setFlowMode(YamlDeserializationMode.FLOW)
+
+ loadKamelets '''
+ apiVersion: camel.apache.org/v1alpha1
+ kind: Kamelet
+ metadata:
+ name: filter-action
+ spec:
+ definition:
+ title: "Filter"
+ description: "Filter based on the body"
+ flow:
+ from:
+ uri: kamelet:source
+ steps:
+ - filter:
+ simple: '${header.process}'
+ - to:
+ uri: "kamelet:sink"
+ '''
+
+ loadRoutes '''
+ - from:
+ uri: "direct:start"
+ steps:
+ - kamelet:
+ name: "filter-action"
+ - to:
+ uri: "mock:result"
+ '''
+
+ withMock('mock:result') {
+ expectedBodiesReceived 2, 4
+ }
+
+ when:
+ context.start()
+
+ withTemplate {
+ (1..4).each {
+ to('direct:start')
+ .withBody(it)
+ .withHeader('process', it % 2 == 0)
+ .send()
+ }
+ }
+ then:
+ MockEndpoint.assertIsSatisfied(context)
+ }
}
diff --git
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletTest.groovy
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletTest.groovy
index 30da3ac..f4bfbb4 100644
---
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletTest.groovy
+++
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletTest.groovy
@@ -178,6 +178,42 @@ class KameletTest extends YamlTestSupport {
MockEndpoint.assertIsSatisfied(context)
}
+
+ def "kamelet (filter with flow)"() {
+ setup:
+ setFlowMode(YamlDeserializationMode.FLOW)
+
+ addTemplate('simple-filter') {
+ from('kamelet:source')
+ .filter().simple('${header.foo} == "a"')
+ .to("kamelet:sink")
+ }
+
+ loadRoutes '''
+ - from:
+ uri: "direct:route"
+ steps:
+ - kamelet:
+ name: "simple-filter"
+ - to:
+ uri: "mock:result"
+ '''
+
+ withMock('mock:result') {
+ expectedBodiesReceived '1', '3'
+ }
+
+ when:
+ withTemplate {
+ to('direct:route').withBody('1').withHeader('foo', 'a').send()
+ to('direct:route').withBody('2').withHeader('foo', 'b').send()
+ to('direct:route').withBody('3').withHeader('foo', 'a').send()
+ to('direct:route').withBody('4').withHeader('foo', 'c').send()
+ }
+ then:
+ MockEndpoint.assertIsSatisfied(context)
+ }
+
def "kamelet (aggregation with flow)"() {
setup:
setFlowMode(YamlDeserializationMode.FLOW)