This is an automated email from the ASF dual-hosted git repository. lburgazzoli pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel-k-runtime.git
The following commit(s) were added to refs/heads/master by this push: new af30d1b chore(test): cleanup yaml unit tests af30d1b is described below commit af30d1bdbfa2979f1fc8e7698647caa1274c0ccd Author: lburgazzoli <lburgazz...@gmail.com> AuthorDate: Thu Jul 23 14:24:26 2020 +0200 chore(test): cleanup yaml unit tests --- .../camel/k/loader/yaml/DefinitionsTest.groovy | 58 +++++++++++----------- .../apache/camel/k/loader/yaml/RoutesTest.groovy | 44 ++++++++-------- .../apache/camel/k/loader/yaml/TestSupport.groovy | 12 +++-- 3 files changed, 59 insertions(+), 55 deletions(-) diff --git a/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/DefinitionsTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/DefinitionsTest.groovy index 0397437..6db3a3f 100644 --- a/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/DefinitionsTest.groovy +++ b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/DefinitionsTest.groovy @@ -37,11 +37,11 @@ class DefinitionsTest extends TestSupport { steps: - to: uri: "log:info" - '''.stripMargin('|') + ''' def camelContext = new DefaultCamelContext() when: - camelContext.addRoutes(new YamlSourceLoader().builder(content)) + load(camelContext, content) then: camelContext.routeDefinitions[0].id == 'my-route-id' camelContext.routeDefinitions[0].group == 'my-route-group' @@ -62,11 +62,11 @@ class DefinitionsTest extends TestSupport { steps: - to: uri: "log:info" - '''.stripMargin('|') + ''' def camelContext = new DefaultCamelContext() when: - camelContext.addRoutes(new YamlSourceLoader().builder(content)) + load(camelContext, content) then: camelContext.routeDefinitions[0].id == 'my-route-id' camelContext.routeDefinitions[0].group == 'my-route-group' @@ -100,11 +100,11 @@ class DefinitionsTest extends TestSupport { uri: "log:otherwise" - to: uri: "log:info" - '''.stripMargin('|') + ''' def camelContext = new DefaultCamelContext() when: - camelContext.addRoutes(new YamlSourceLoader().builder(content)) + load(camelContext, content) then: camelContext.routeDefinitions[0].input.endpointUri == 'direct:start' @@ -136,20 +136,20 @@ class DefinitionsTest extends TestSupport { def "route with split"() { given: def content = ''' - - from: - uri: "direct:start" - steps: - - split: - tokenize: "," - steps: - - to: "log:split1" - - to: "log:split2" - - to: "log:info" - '''.stripMargin('|') + - from: + uri: "direct:start" + steps: + - split: + tokenize: "," + steps: + - to: "log:split1" + - to: "log:split2" + - to: "log:info" + ''' def camelContext = new DefaultCamelContext() when: - camelContext.addRoutes(new YamlSourceLoader().builder(content)) + load(camelContext, content) then: camelContext.routeDefinitions[0].input.endpointUri == 'direct:start' camelContext.routeDefinitions[0].outputs.size() == 2 @@ -177,17 +177,17 @@ class DefinitionsTest extends TestSupport { def "flow style route with split"() { given: def content = ''' - - from: - uri: "direct:start" - steps: - - split: - tokenize: "," - - to: "log:info" - '''.stripMargin('|') + - from: + uri: "direct:start" + steps: + - split: + tokenize: "," + - to: "log:info" + ''' def camelContext = new DefaultCamelContext() when: - camelContext.addRoutes(new YamlSourceLoader().builder(content)) + load(camelContext, content) then: camelContext.routeDefinitions[0].input.endpointUri == 'direct:start' camelContext.routeDefinitions[0].outputs.size() == 1 @@ -217,11 +217,11 @@ class DefinitionsTest extends TestSupport { - to: "log:filter1" - to: "log:filter2" - to: "log:info" - '''.stripMargin('|') + ''' def camelContext = new DefaultCamelContext() when: - camelContext.addRoutes(new YamlSourceLoader().builder(content)) + load(camelContext, content) then: camelContext.routeDefinitions[0].input.endpointUri == 'direct:start' camelContext.routeDefinitions[0].outputs.size() == 2 @@ -255,11 +255,11 @@ class DefinitionsTest extends TestSupport { - filter: simple: "${body.startsWith(\\"a\\")}" - to: "log:info" - '''.stripMargin('|') + ''' def camelContext = new DefaultCamelContext() when: - camelContext.addRoutes(new YamlSourceLoader().builder(content)) + load(camelContext, content) then: camelContext.routeDefinitions[0].input.endpointUri == 'direct:start' camelContext.routeDefinitions[0].outputs.size() == 1 diff --git a/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/RoutesTest.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/RoutesTest.groovy index 5eb5f6d..1f6ace9 100644 --- a/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/RoutesTest.groovy +++ b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/RoutesTest.groovy @@ -27,15 +27,15 @@ class RoutesTest extends TestSupport { setup: def context = startContextForSpec() - mockEndpoint(context,'mock:split') { + mockEndpoint(context, 'mock:split') { expectedMessageCount = 3 expectedBodiesReceived 'a', 'b', 'c' } - mockEndpoint(context,'mock:route') { + mockEndpoint(context, 'mock:route') { expectedMessageCount = 1 expectedBodiesReceived 'a,b,c' } - mockEndpoint(context,'mock:flow') { + mockEndpoint(context, 'mock:flow') { expectedMessageCount = 3 expectedBodiesReceived 'a', 'b', 'c' } @@ -62,16 +62,16 @@ class RoutesTest extends TestSupport { expectedMessageCount 1 expectedBodiesReceived 'a' } - mockEndpoint(context,'mock:flow') { + mockEndpoint(context, 'mock:flow') { expectedMessageCount 1 expectedBodiesReceived 'a' } when: - context.createProducerTemplate().with { - sendBody('direct:route', 'a') - sendBody('direct:route', 'b') - sendBody('direct:flow', 'a') - sendBody('direct:flow', 'b') + template(context).with { + to('direct:route').withBody('a').send() + to('direct:route').withBody('b').send() + to('direct:flow').withBody('a').send() + to('direct:flow').withBody('b').send() } then: MockEndpoint.assertIsSatisfied(context) @@ -90,11 +90,11 @@ class RoutesTest extends TestSupport { expectedBodiesReceived '2', '4' } when: - context.createProducerTemplate().with { - sendBodyAndHeader('direct:route', '1', 'StockSymbol', 1) - sendBodyAndHeader('direct:route', '2', 'StockSymbol', 1) - sendBodyAndHeader('direct:route', '3', 'StockSymbol', 2) - sendBodyAndHeader('direct:route', '4', 'StockSymbol', 2) + template(context).with { + to('direct:route').withBody('1').withHeader('StockSymbol', 1).send() + to('direct:route').withBody('2').withHeader('StockSymbol', 1).send() + to('direct:route').withBody('3').withHeader('StockSymbol', 2).send() + to('direct:route').withBody('4').withHeader('StockSymbol', 2).send() } then: MockEndpoint.assertIsSatisfied(context) @@ -108,21 +108,21 @@ class RoutesTest extends TestSupport { registry.bind('myRepo', new MemoryIdempotentRepository()) } - mockEndpoint(context,'mock:idempotent') { + mockEndpoint(context, 'mock:idempotent') { expectedMessageCount = 3 expectedBodiesReceived 'a', 'b', 'c' } - mockEndpoint(context,'mock:route') { + mockEndpoint(context, 'mock:route') { expectedMessageCount = 5 expectedBodiesReceived 'a', 'b', 'a2', 'b2', 'c' } when: - context.createProducerTemplate().with { - sendBodyAndHeader('direct:route', 'a', 'id', '1') - sendBodyAndHeader('direct:route', 'b', 'id', '2') - sendBodyAndHeader('direct:route', 'a2', 'id', '1') - sendBodyAndHeader('direct:route', 'b2', 'id', '2') - sendBodyAndHeader('direct:route', 'c', 'id', '3') + template(context).with { + to('direct:route').withBody('a').withHeader('id', '1').send() + to('direct:route').withBody('b').withHeader('id', '2').send() + to('direct:route').withBody('a2').withHeader('id', '1').send() + to('direct:route').withBody('b2').withHeader('id', '2').send() + to('direct:route').withBody('c').withHeader('id', '3').send() } then: MockEndpoint.assertIsSatisfied(context) diff --git a/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/TestSupport.groovy b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/TestSupport.groovy index ed2bb78..a6ce9d5 100644 --- a/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/TestSupport.groovy +++ b/camel-k-loader-yaml/camel-k-loader-yaml/src/test/groovy/org/apache/camel/k/loader/yaml/TestSupport.groovy @@ -101,16 +101,14 @@ class TestSupport extends Specification { ) } - static MockEndpoint mockEndpoint( + static mockEndpoint( CamelContext context, String uri, - @DelegatesTo(MockEndpoint) Closure<MockEndpoint> closure) { + @DelegatesTo(MockEndpoint) Closure<?> closure) { closure.resolveStrategy = Closure.DELEGATE_FIRST closure.delegate = context.getEndpoint(uri, MockEndpoint.class) closure.call() - - return closure.delegate } static <U extends ProcessorStepParser> ProcessorDefinition<?> toProcessor(Class<U> type, String content) { @@ -138,4 +136,10 @@ class TestSupport extends Specification { return context.createFluentProducerTemplate() } + static def load(CamelContext context, String content) { + def source = Sources.fromBytes('yaml', content.stripMargin().getBytes(StandardCharsets.UTF_8)) + def builder = new YamlSourceLoader().load(Runtime.on(context), source).builder().orElseThrow(() -> new IllegalArgumentException()); + + context.addRoutes(builder) + } }