This is an automated email from the ASF dual-hosted git repository. orpiske pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit 81171c44dc0f3750b808d4b5bf4a56e38ca21d4e Author: Otavio Rodolfo Piske <angusyo...@gmail.com> AuthorDate: Thu Apr 11 17:02:11 2024 +0200 (chores) camel-core: extract independent code snippets from large code blocks in tests --- .../InterceptSendToEndpointProcessor.java | 24 +++--- .../camel/impl/DefaultProducerCacheTest.java | 26 ++++--- .../impl/ScheduledPollConsumerBackoffTest.java | 88 ++++++++++++---------- ...DistributedConcurrentPerCorrelationKeyTest.java | 37 +++++---- .../DistributedOptimisticLockFailingTest.java | 37 +++++---- .../org/apache/camel/util/ResourceLoaderTest.java | 29 ++++--- .../camel/main/MainRestConfigurationTest.java | 29 ++++--- .../RestConsumerContextPathMatcherTest.java | 23 +++--- .../org/apache/camel/yaml/out/ModelWriterTest.java | 23 +++--- .../yaml/out/ModelWriterUriAsParametersTest.java | 40 ++++++---- 10 files changed, 206 insertions(+), 150 deletions(-) diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/InterceptSendToEndpointProcessor.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/InterceptSendToEndpointProcessor.java index 19077597044..1c2beca9122 100644 --- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/InterceptSendToEndpointProcessor.java +++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/InterceptSendToEndpointProcessor.java @@ -147,22 +147,26 @@ public class InterceptSendToEndpointProcessor extends DefaultAsyncProducer { } }; // only execute the after if the intercept when predicate matches - Predicate predicate = exchange -> { - Boolean whenMatches - = (Boolean) exchange.removeProperty(ExchangePropertyKey.INTERCEPT_SEND_TO_ENDPOINT_WHEN_MATCHED); - return whenMatches == null || whenMatches; - }; - AsyncProcessor after = null; - if (endpoint.getAfter() != null) { - after = AsyncProcessorConverterHelper.convert(endpoint.getAfter()); - } - FilterProcessor filter = new FilterProcessor(getEndpoint().getCamelContext(), predicate, after); + final FilterProcessor filter = createFilterProcessor(); pipeline = new Pipeline(getEndpoint().getCamelContext(), Arrays.asList(before, ascb, filter)); } ServiceHelper.buildService(producer, pipeline); } + private FilterProcessor createFilterProcessor() { + Predicate predicate = exchange -> { + Boolean whenMatches + = (Boolean) exchange.removeProperty(ExchangePropertyKey.INTERCEPT_SEND_TO_ENDPOINT_WHEN_MATCHED); + return whenMatches == null || whenMatches; + }; + AsyncProcessor after = null; + if (endpoint.getAfter() != null) { + after = AsyncProcessorConverterHelper.convert(endpoint.getAfter()); + } + return new FilterProcessor(getEndpoint().getCamelContext(), predicate, after); + } + @Override protected void doInit() throws Exception { ServiceHelper.initService(producer, pipeline); diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/DefaultProducerCacheTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/DefaultProducerCacheTest.java index f50a30aa7ca..fca0ef2afb1 100644 --- a/core/camel-core/src/test/java/org/apache/camel/impl/DefaultProducerCacheTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/impl/DefaultProducerCacheTest.java @@ -234,18 +234,7 @@ public class DefaultProducerCacheTest extends ContextTestSupport { for (int i = 0; i < 500; i++) { int index = i % 3; - callables.add(() -> { - Producer producer = cache.acquireProducer(endpoints.get(index)); - boolean isEqual - = producer.getEndpoint().getEndpointUri().equalsIgnoreCase(endpoints.get(index).getEndpointUri()); - - if (!isEqual) { - log.info("Endpoint uri to acquire: {}, returned producer (uri): {}", endpoints.get(index).getEndpointUri(), - producer.getEndpoint().getEndpointUri()); - } - - return isEqual; - }); + callables.add(() -> isEqualTask(cache, endpoints, index)); } for (int i = 1; i <= 100; i++) { @@ -257,6 +246,19 @@ public class DefaultProducerCacheTest extends ContextTestSupport { } } + private boolean isEqualTask(DefaultProducerCache cache, List<Endpoint> endpoints, int index) { + Producer producer = cache.acquireProducer(endpoints.get(index)); + boolean isEqual + = producer.getEndpoint().getEndpointUri().equalsIgnoreCase(endpoints.get(index).getEndpointUri()); + + if (!isEqual) { + log.info("Endpoint uri to acquire: {}, returned producer (uri): {}", endpoints.get(index).getEndpointUri(), + producer.getEndpoint().getEndpointUri()); + } + + return isEqual; + } + private static class MyProducerCache extends DefaultProducerCache { private MyServicePool myServicePool; diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/ScheduledPollConsumerBackoffTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/ScheduledPollConsumerBackoffTest.java index fcc99c2fa1f..713689a9103 100644 --- a/core/camel-core/src/test/java/org/apache/camel/impl/ScheduledPollConsumerBackoffTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/impl/ScheduledPollConsumerBackoffTest.java @@ -35,25 +35,7 @@ public class ScheduledPollConsumerBackoffTest extends ContextTestSupport { public void testBackoffIdle() throws Exception { final Endpoint endpoint = getMockEndpoint("mock:foo"); - MockScheduledPollConsumer consumer = new MockScheduledPollConsumer(endpoint, null); - consumer.setBackoffMultiplier(4); - consumer.setBackoffIdleThreshold(2); - - consumer.setPollStrategy(new PollingConsumerPollStrategy() { - public boolean begin(Consumer consumer, Endpoint endpoint) { - return true; - } - - public void commit(Consumer consumer, Endpoint endpoint, int polledMessages) { - commits++; - } - - public boolean rollback(Consumer consumer, Endpoint endpoint, int retryCounter, Exception e) throws Exception { - return false; - } - }); - - consumer.start(); + final MockScheduledPollConsumer consumer = createMockScheduledPollConsumer(endpoint); consumer.run(); consumer.run(); @@ -85,26 +67,7 @@ public class ScheduledPollConsumerBackoffTest extends ContextTestSupport { final Endpoint endpoint = getMockEndpoint("mock:foo"); final Exception expectedException = new Exception("Hello, I should be thrown on shutdown only!"); - MockScheduledPollConsumer consumer = new MockScheduledPollConsumer(endpoint, expectedException); - consumer.setBackoffMultiplier(4); - consumer.setBackoffErrorThreshold(3); - - consumer.setPollStrategy(new PollingConsumerPollStrategy() { - public boolean begin(Consumer consumer, Endpoint endpoint) { - return true; - } - - public void commit(Consumer consumer, Endpoint endpoint, int polledMessages) { - commits++; - } - - public boolean rollback(Consumer consumer, Endpoint endpoint, int retryCounter, Exception e) throws Exception { - errors++; - return false; - } - }); - - consumer.start(); + final MockScheduledPollConsumer consumer = createMockScheduledPollConsumer(endpoint, expectedException); consumer.run(); consumer.run(); @@ -130,4 +93,51 @@ public class ScheduledPollConsumerBackoffTest extends ContextTestSupport { consumer.stop(); } + + private static MockScheduledPollConsumer createMockScheduledPollConsumer(Endpoint endpoint, Exception expectedException) { + MockScheduledPollConsumer consumer = new MockScheduledPollConsumer(endpoint, expectedException); + consumer.setBackoffMultiplier(4); + consumer.setBackoffErrorThreshold(3); + + consumer.setPollStrategy(new PollingConsumerPollStrategy() { + public boolean begin(Consumer consumer, Endpoint endpoint) { + return true; + } + + public void commit(Consumer consumer, Endpoint endpoint, int polledMessages) { + commits++; + } + + public boolean rollback(Consumer consumer, Endpoint endpoint, int retryCounter, Exception e) throws Exception { + errors++; + return false; + } + }); + + consumer.start(); + return consumer; + } + + private static MockScheduledPollConsumer createMockScheduledPollConsumer(Endpoint endpoint) { + MockScheduledPollConsumer consumer = new MockScheduledPollConsumer(endpoint, null); + consumer.setBackoffMultiplier(4); + consumer.setBackoffIdleThreshold(2); + + consumer.setPollStrategy(new PollingConsumerPollStrategy() { + public boolean begin(Consumer consumer, Endpoint endpoint) { + return true; + } + + public void commit(Consumer consumer, Endpoint endpoint, int polledMessages) { + commits++; + } + + public boolean rollback(Consumer consumer, Endpoint endpoint, int retryCounter, Exception e) throws Exception { + return false; + } + }); + + consumer.start(); + return consumer; + } } diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/DistributedConcurrentPerCorrelationKeyTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/DistributedConcurrentPerCorrelationKeyTest.java index deee3b7070f..252dfe7c6d2 100644 --- a/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/DistributedConcurrentPerCorrelationKeyTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/DistributedConcurrentPerCorrelationKeyTest.java @@ -41,22 +41,7 @@ public class DistributedConcurrentPerCorrelationKeyTest extends AbstractDistribu @Test public void testAggregateConcurrentPerCorrelationKey() throws Exception { ExecutorService service = Executors.newFixedThreadPool(50); - List<Callable<Object>> tasks = new ArrayList<>(); - for (int i = 0; i < size; i++) { - final int id = i % 25; - final int choice = i % 2; - final int count = i; - tasks.add(new Callable<Object>() { - public Object call() throws Exception { - if (choice == 0) { - template.sendBodyAndHeader(uri, "" + count, "id", id); - } else { - template2.sendBodyAndHeader(uri, "" + count, "id", id); - } - return null; - } - }); - } + final List<Callable<Object>> tasks = createTasks(); MockEndpoint mock = getMockEndpoint("mock:result"); MockEndpoint mock2 = getMockEndpoint2("mock:result"); @@ -72,6 +57,26 @@ public class DistributedConcurrentPerCorrelationKeyTest extends AbstractDistribu assertEquals(25, contextCount + context2Count); } + private List<Callable<Object>> createTasks() { + List<Callable<Object>> tasks = new ArrayList<>(); + for (int i = 0; i < size; i++) { + final int id = i % 25; + final int choice = i % 2; + final int count = i; + tasks.add(() -> sendTask(choice, count, id)); + } + return tasks; + } + + private Object sendTask(int choice, int count, int id) { + if (choice == 0) { + template.sendBodyAndHeader(uri, "" + count, "id", id); + } else { + template2.sendBodyAndHeader(uri, "" + count, "id", id); + } + return null; + } + @Override protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/DistributedOptimisticLockFailingTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/DistributedOptimisticLockFailingTest.java index de00866cc89..b3e5814fbd6 100644 --- a/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/DistributedOptimisticLockFailingTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/DistributedOptimisticLockFailingTest.java @@ -101,22 +101,7 @@ public class DistributedOptimisticLockFailingTest extends AbstractDistributedTes public void testEverySecondOneFails() throws Exception { int size = 200; ExecutorService service = Executors.newFixedThreadPool(10); - List<Callable<Object>> tasks = new ArrayList<>(); - for (int i = 0; i < size; i++) { - final int id = i % 25; - final int choice = i % 2; - final int count = i; - tasks.add(new Callable<Object>() { - public Object call() throws Exception { - if (choice == 0) { - template.sendBodyAndHeader("direct:everysecondone", "" + count, "id", id); - } else { - template2.sendBodyAndHeader("direct:everysecondone", "" + count, "id", id); - } - return null; - } - }); - } + final List<Callable<Object>> tasks = createTasks(size); MockEndpoint mock = getMockEndpoint("mock:result"); MockEndpoint mock2 = getMockEndpoint2("mock:result"); @@ -132,6 +117,26 @@ public class DistributedOptimisticLockFailingTest extends AbstractDistributedTes assertEquals(25, contextCount + context2Count); } + private List<Callable<Object>> createTasks(int size) { + List<Callable<Object>> tasks = new ArrayList<>(); + for (int i = 0; i < size; i++) { + final int id = i % 25; + final int choice = i % 2; + final int count = i; + tasks.add(() -> sendTask(choice, count, id)); + } + return tasks; + } + + private Object sendTask(int choice, int count, int id) { + if (choice == 0) { + template.sendBodyAndHeader("direct:everysecondone", "" + count, "id", id); + } else { + template2.sendBodyAndHeader("direct:everysecondone", "" + count, "id", id); + } + return null; + } + @Override protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { diff --git a/core/camel-core/src/test/java/org/apache/camel/util/ResourceLoaderTest.java b/core/camel-core/src/test/java/org/apache/camel/util/ResourceLoaderTest.java index 4ac6bc041ae..81c60a4c680 100644 --- a/core/camel-core/src/test/java/org/apache/camel/util/ResourceLoaderTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/util/ResourceLoaderTest.java @@ -114,18 +114,7 @@ public class ResourceLoaderTest extends TestSupport { @Test public void testLoadFallback() throws Exception { try (DefaultCamelContext context = new DefaultCamelContext()) { - DefaultResourceLoader loader = new DefaultResourceLoader(); - loader.setFallbackResolver(new ResourceResolverSupport("custom") { - @Override - public Resource resolve(String location) { - return ResourceHelper.fromString("custom", "fallback"); - } - - @Override - protected Resource createResource(String location, String remaining) { - throw new UnsupportedOperationException(); - } - }); + final DefaultResourceLoader loader = createDefaultResourceLoader(); context.getCamelContextExtension().addContextPlugin(ResourceLoader.class, loader); @@ -145,6 +134,22 @@ public class ResourceLoaderTest extends TestSupport { } } + private static DefaultResourceLoader createDefaultResourceLoader() { + DefaultResourceLoader loader = new DefaultResourceLoader(); + loader.setFallbackResolver(new ResourceResolverSupport("custom") { + @Override + public Resource resolve(String location) { + return ResourceHelper.fromString("custom", "fallback"); + } + + @Override + protected Resource createResource(String location, String remaining) { + throw new UnsupportedOperationException(); + } + }); + return loader; + } + @Test public void testLoadRegistry() throws Exception { DefaultCamelContext context = new DefaultCamelContext(); diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainRestConfigurationTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainRestConfigurationTest.java index 9ccce0c1e18..0de89de1e3c 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainRestConfigurationTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainRestConfigurationTest.java @@ -30,18 +30,7 @@ public class MainRestConfigurationTest { @Test public void testRestConfiguration() { - Properties properties = new Properties(); - properties.setProperty("camel.rest.component", "platform-http"); - properties.setProperty("camel.rest.enableCORS", "true"); - properties.setProperty("camel.rest.apiContextPath", "/openapi"); - properties.setProperty("camel.rest.apiVendorExtension", "true"); - properties.setProperty("camel.rest.apiProperties[dummyKey]", "Dummy Value"); - properties.setProperty("camel.rest.apiProperties[api.title]", "My Title"); - properties.setProperty("camel.rest.apiProperties[api.version]", "1.2.3"); - properties.setProperty("camel.rest.apiProperties[base.path]", "/mybase"); - - Main main = new Main(); - main.setOverrideProperties(properties); + final Main main = newMain(); try { main.start(); @@ -63,4 +52,20 @@ public class MainRestConfigurationTest { main.stop(); } } + + private static Main newMain() { + Properties properties = new Properties(); + properties.setProperty("camel.rest.component", "platform-http"); + properties.setProperty("camel.rest.enableCORS", "true"); + properties.setProperty("camel.rest.apiContextPath", "/openapi"); + properties.setProperty("camel.rest.apiVendorExtension", "true"); + properties.setProperty("camel.rest.apiProperties[dummyKey]", "Dummy Value"); + properties.setProperty("camel.rest.apiProperties[api.title]", "My Title"); + properties.setProperty("camel.rest.apiProperties[api.version]", "1.2.3"); + properties.setProperty("camel.rest.apiProperties[base.path]", "/mybase"); + + Main main = new Main(); + main.setOverrideProperties(properties); + return main; + } } diff --git a/core/camel-support/src/test/java/org/apache/camel/support/RestConsumerContextPathMatcherTest.java b/core/camel-support/src/test/java/org/apache/camel/support/RestConsumerContextPathMatcherTest.java index 067905951ab..8f872fb194f 100644 --- a/core/camel-support/src/test/java/org/apache/camel/support/RestConsumerContextPathMatcherTest.java +++ b/core/camel-support/src/test/java/org/apache/camel/support/RestConsumerContextPathMatcherTest.java @@ -129,15 +129,7 @@ public class RestConsumerContextPathMatcherTest { @Test public void testRestConsumerContextPathMatcherPetStore() { - List<RestConsumerContextPathMatcher.ConsumerPath<MockConsumerPath>> consumerPaths = new ArrayList<>(); - consumerPaths.add(new MockConsumerPath("POST", "/pet")); - consumerPaths.add(new MockConsumerPath("PUT", "/pet")); - consumerPaths.add(new MockConsumerPath("GET", "/pet/findByStatus")); - consumerPaths.add(new MockConsumerPath("GET", "/pet/findByTags")); - consumerPaths.add(new MockConsumerPath("DELETE", "/pet/{petId}")); - consumerPaths.add(new MockConsumerPath("GET", "/pet/{petId}")); - consumerPaths.add(new MockConsumerPath("POST", "/pet/{petId}")); - consumerPaths.add(new MockConsumerPath("POST", "/pet/{petId}/uploadImage")); + final List<RestConsumerContextPathMatcher.ConsumerPath<MockConsumerPath>> consumerPaths = createConsumerPaths(); RestConsumerContextPathMatcher.register("/api/v3/*"); @@ -183,4 +175,17 @@ public class RestConsumerContextPathMatcherTest { assertNull(path12); } + private static List<RestConsumerContextPathMatcher.ConsumerPath<MockConsumerPath>> createConsumerPaths() { + List<RestConsumerContextPathMatcher.ConsumerPath<MockConsumerPath>> consumerPaths = new ArrayList<>(); + consumerPaths.add(new MockConsumerPath("POST", "/pet")); + consumerPaths.add(new MockConsumerPath("PUT", "/pet")); + consumerPaths.add(new MockConsumerPath("GET", "/pet/findByStatus")); + consumerPaths.add(new MockConsumerPath("GET", "/pet/findByTags")); + consumerPaths.add(new MockConsumerPath("DELETE", "/pet/{petId}")); + consumerPaths.add(new MockConsumerPath("GET", "/pet/{petId}")); + consumerPaths.add(new MockConsumerPath("POST", "/pet/{petId}")); + consumerPaths.add(new MockConsumerPath("POST", "/pet/{petId}/uploadImage")); + return consumerPaths; + } + } diff --git a/core/camel-yaml-io/src/test/java/org/apache/camel/yaml/out/ModelWriterTest.java b/core/camel-yaml-io/src/test/java/org/apache/camel/yaml/out/ModelWriterTest.java index 9d1009d8d3e..3480f9872c4 100644 --- a/core/camel-yaml-io/src/test/java/org/apache/camel/yaml/out/ModelWriterTest.java +++ b/core/camel-yaml-io/src/test/java/org/apache/camel/yaml/out/ModelWriterTest.java @@ -123,15 +123,7 @@ public class ModelWriterTest { RouteDefinition route = new RouteDefinition(); route.setId("myRoute3"); route.setInput(new FromDefinition("direct:start2")); - AggregateDefinition ag = new AggregateDefinition(); - SimpleExpression e = new SimpleExpression("${body}"); - e.setResultTypeName("int.class"); - ag.setExpression(e); - ag.setCorrelationExpression(new ExpressionSubElementDefinition(new HeaderExpression("myHeader"))); - ConstantExpression cons = new ConstantExpression("5"); - cons.setResultTypeName("int.class"); - ag.setCompletionSizeExpression(new ExpressionSubElementDefinition(cons)); - ag.setCompletionTimeoutExpression(new ExpressionSubElementDefinition(new ConstantExpression("4000"))); + final AggregateDefinition ag = createAggregateDefinition(); route.addOutput(ag); ToDefinition to = new ToDefinition("kafka:line"); ag.addOutput(to); @@ -145,6 +137,19 @@ public class ModelWriterTest { Assertions.assertEquals(expected, out); } + private static AggregateDefinition createAggregateDefinition() { + AggregateDefinition ag = new AggregateDefinition(); + SimpleExpression e = new SimpleExpression("${body}"); + e.setResultTypeName("int.class"); + ag.setExpression(e); + ag.setCorrelationExpression(new ExpressionSubElementDefinition(new HeaderExpression("myHeader"))); + ConstantExpression cons = new ConstantExpression("5"); + cons.setResultTypeName("int.class"); + ag.setCompletionSizeExpression(new ExpressionSubElementDefinition(cons)); + ag.setCompletionTimeoutExpression(new ExpressionSubElementDefinition(new ConstantExpression("4000"))); + return ag; + } + @Test public void testFromSetBodyTo() throws Exception { StringWriter sw = new StringWriter(); diff --git a/core/camel-yaml-io/src/test/java/org/apache/camel/yaml/out/ModelWriterUriAsParametersTest.java b/core/camel-yaml-io/src/test/java/org/apache/camel/yaml/out/ModelWriterUriAsParametersTest.java index 503202bd9a6..5cfd775e91c 100644 --- a/core/camel-yaml-io/src/test/java/org/apache/camel/yaml/out/ModelWriterUriAsParametersTest.java +++ b/core/camel-yaml-io/src/test/java/org/apache/camel/yaml/out/ModelWriterUriAsParametersTest.java @@ -95,6 +95,16 @@ public class ModelWriterUriAsParametersTest { ModelWriter writer = new ModelWriter(sw); writer.setUriAsParameters(true); + final RouteDefinition route = createRouteDefinition(); + + writer.writeRouteDefinition(route); + + String out = sw.toString(); + String expected = stripLineComments(Paths.get("src/test/resources/route2.yaml"), "#", true); + Assertions.assertEquals(expected, out); + } + + private static RouteDefinition createRouteDefinition() { RouteDefinition route = new RouteDefinition(); route.setId("myRoute2"); route.setInput(new FromDefinition("direct:start2")); @@ -108,12 +118,7 @@ public class ModelWriterUriAsParametersTest { sp.addOutput(to); to = new ToDefinition("mock:result2"); route.addOutput(to); - - writer.writeRouteDefinition(route); - - String out = sw.toString(); - String expected = stripLineComments(Paths.get("src/test/resources/route2.yaml"), "#", true); - Assertions.assertEquals(expected, out); + return route; } @Test @@ -125,15 +130,7 @@ public class ModelWriterUriAsParametersTest { RouteDefinition route = new RouteDefinition(); route.setId("myRoute3"); route.setInput(new FromDefinition("direct:start2")); - AggregateDefinition ag = new AggregateDefinition(); - SimpleExpression e = new SimpleExpression("${body}"); - e.setResultTypeName("int.class"); - ag.setExpression(e); - ag.setCorrelationExpression(new ExpressionSubElementDefinition(new HeaderExpression("myHeader"))); - ConstantExpression cons = new ConstantExpression("5"); - cons.setResultTypeName("int.class"); - ag.setCompletionSizeExpression(new ExpressionSubElementDefinition(cons)); - ag.setCompletionTimeoutExpression(new ExpressionSubElementDefinition(new ConstantExpression("4000"))); + final AggregateDefinition ag = createAggregateDefinition(); route.addOutput(ag); ToDefinition to = new ToDefinition("kafka:line"); ag.addOutput(to); @@ -147,6 +144,19 @@ public class ModelWriterUriAsParametersTest { Assertions.assertEquals(expected, out); } + private static AggregateDefinition createAggregateDefinition() { + AggregateDefinition ag = new AggregateDefinition(); + SimpleExpression e = new SimpleExpression("${body}"); + e.setResultTypeName("int.class"); + ag.setExpression(e); + ag.setCorrelationExpression(new ExpressionSubElementDefinition(new HeaderExpression("myHeader"))); + ConstantExpression cons = new ConstantExpression("5"); + cons.setResultTypeName("int.class"); + ag.setCompletionSizeExpression(new ExpressionSubElementDefinition(cons)); + ag.setCompletionTimeoutExpression(new ExpressionSubElementDefinition(new ConstantExpression("4000"))); + return ag; + } + @Test public void testFromSetBodyTo() throws Exception { StringWriter sw = new StringWriter();