This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch kamelet-local-registry in repository https://gitbox.apache.org/repos/asf/camel.git
commit 01c530611e8a476d3363a874e9fa9d1cc9c0fd2d Author: Claus Ibsen <[email protected]> AuthorDate: Tue May 4 18:00:11 2021 +0200 CAMEL-16394: Route Template local beans. WIP --- .../camel/builder/RouteTemplateLocalBeanTest.java | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/core/camel-core/src/test/java/org/apache/camel/builder/RouteTemplateLocalBeanTest.java b/core/camel-core/src/test/java/org/apache/camel/builder/RouteTemplateLocalBeanTest.java index c106091..b3ec7c3 100644 --- a/core/camel-core/src/test/java/org/apache/camel/builder/RouteTemplateLocalBeanTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/builder/RouteTemplateLocalBeanTest.java @@ -21,6 +21,8 @@ import org.apache.camel.Processor; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; public class RouteTemplateLocalBeanTest extends ContextTestSupport { @@ -55,6 +57,9 @@ public class RouteTemplateLocalBeanTest extends ContextTestSupport { Object out = template.requestBody("direct:one", "World"); assertEquals("Global World", out); + // should be a global bean + assertNotNull(context.getRegistry().lookupByName("myBar")); + context.stop(); } @@ -83,6 +88,50 @@ public class RouteTemplateLocalBeanTest extends ContextTestSupport { Object out = template.requestBody("direct:one", "World"); assertEquals("Builder World", out); + // should not be a global bean + assertNull(context.getRegistry().lookupByName("myBar")); + + context.stop(); + } + + @Test + public void testLocalBeanInBuilderTwo() throws Exception { + context.addRoutes(new RouteBuilder() { + @Override + public void configure() throws Exception { + routeTemplate("myTemplate").templateParameter("foo").templateParameter("bar") + .from("direct:{{foo}}") + .to("bean:{{bar}}"); + } + }); + + context.start(); + + TemplatedRouteBuilder.builder(context, "myTemplate") + .parameter("foo", "one") + .parameter("bar", "myBar") + .bind("myBar", (Processor) ex -> ex.getMessage().setBody("Builder " + ex.getMessage().getBody())) + .routeId("myRoute") + .add(); + + // TODO: Fix me + TemplatedRouteBuilder.builder(context, "myTemplate") + .parameter("foo", "two") + .parameter("bar", "myBar") + .bind("myBar", (Processor) ex -> ex.getMessage().setBody("Builder2 " + ex.getMessage().getBody())) + .routeId("myRoute2") + .add(); + + assertEquals(2, context.getRoutes().size()); + + Object out = template.requestBody("direct:one", "World"); + assertEquals("Builder World", out); + Object out2 = template.requestBody("direct:two", "Camel"); + assertEquals("Builder2 Camel", out2); + + // should not be a global bean + assertNull(context.getRegistry().lookupByName("myBar")); + context.stop(); }
