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 9f3c3ca chore(js): add test for rest dsl/definition 9f3c3ca is described below commit 9f3c3cae86705ba198c11fdf0883c71c2914856f Author: lburgazzoli <lburgazz...@gmail.com> AuthorDate: Thu Jul 25 08:30:58 2019 +0200 chore(js): add test for rest dsl/definition --- .../camel/k/loader/js/dsl/IntegrationTest.java | 59 ++++++++++++++++++++++ .../resources/routes-with-rest-configuration.js | 4 ++ .../src/test/resources/routes-with-rest-dsl.js | 7 +++ 3 files changed, 70 insertions(+) diff --git a/camel-k-loader-js/src/test/java/org/apache/camel/k/loader/js/dsl/IntegrationTest.java b/camel-k-loader-js/src/test/java/org/apache/camel/k/loader/js/dsl/IntegrationTest.java index c5e0aed..a881b3a 100644 --- a/camel-k-loader-js/src/test/java/org/apache/camel/k/loader/js/dsl/IntegrationTest.java +++ b/camel-k-loader-js/src/test/java/org/apache/camel/k/loader/js/dsl/IntegrationTest.java @@ -16,10 +16,19 @@ */ package org.apache.camel.k.loader.js.dsl; +import java.util.List; + import org.apache.camel.component.seda.SedaComponent; import org.apache.camel.k.Runtime; import org.apache.camel.k.listener.RoutesConfigurer; import org.apache.camel.k.main.ApplicationRuntime; +import org.apache.camel.model.FromDefinition; +import org.apache.camel.model.ModelCamelContext; +import org.apache.camel.model.RouteDefinition; +import org.apache.camel.model.TransformDefinition; +import org.apache.camel.model.rest.GetVerbDefinition; +import org.apache.camel.model.rest.RestDefinition; +import org.apache.camel.spi.RestConfiguration; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; @@ -40,4 +49,54 @@ public class IntegrationTest { runtime.run(); } + + @Test + public void testRestConfiguration() throws Exception { + ApplicationRuntime runtime = new ApplicationRuntime(); + runtime.addListener(RoutesConfigurer.forRoutes("classpath:routes-with-rest-configuration.js")); + runtime.addListener(Runtime.Phase.Started, r -> { + RestConfiguration conf = r.getCamelContext().getRestConfiguration(); + + assertThat(conf).isNotNull(); + assertThat(conf).hasFieldOrPropertyWithValue("component", "undertow"); + assertThat(conf).hasFieldOrPropertyWithValue("port", 1234); + + runtime.stop(); + }); + + runtime.run(); + } + + @Test + public void testRestDSL() throws Exception { + ApplicationRuntime runtime = new ApplicationRuntime(); + runtime.addListener(RoutesConfigurer.forRoutes("classpath:routes-with-rest-dsl.js")); + runtime.addListener(Runtime.Phase.Started, r -> { + ModelCamelContext mcc = r.getCamelContext().adapt(ModelCamelContext.class); + List<RestDefinition> rests = mcc.getRestDefinitions(); + List<RouteDefinition> routes = mcc.getRouteDefinitions(); + + assertThat(rests).hasSize(1); + assertThat(rests).first().hasFieldOrPropertyWithValue("produces", "text/plain"); + assertThat(rests).first().satisfies(definition -> { + assertThat(definition.getVerbs()).hasSize(1); + assertThat(definition.getVerbs()).first().isInstanceOfSatisfying(GetVerbDefinition.class, get -> { + assertThat(get).hasFieldOrPropertyWithValue("uri", "/say/hello"); + }); + }); + + assertThat(routes).hasSize(1); + assertThat(routes).first().satisfies(definition -> { + assertThat(definition.getInput()).isInstanceOf(FromDefinition.class); + assertThat(definition.getOutputs()).hasSize(1); + assertThat(definition.getOutputs()).first().satisfies(output -> { + assertThat(output).isInstanceOf(TransformDefinition.class); + }); + }); + + runtime.stop(); + }); + + runtime.run(); + } } diff --git a/camel-k-loader-js/src/test/resources/routes-with-rest-configuration.js b/camel-k-loader-js/src/test/resources/routes-with-rest-configuration.js new file mode 100644 index 0000000..c54a31b --- /dev/null +++ b/camel-k-loader-js/src/test/resources/routes-with-rest-configuration.js @@ -0,0 +1,4 @@ + +c = restConfiguration() +c.setComponent('undertow') +c.setPort('1234') diff --git a/camel-k-loader-js/src/test/resources/routes-with-rest-dsl.js b/camel-k-loader-js/src/test/resources/routes-with-rest-dsl.js new file mode 100644 index 0000000..195fca6 --- /dev/null +++ b/camel-k-loader-js/src/test/resources/routes-with-rest-dsl.js @@ -0,0 +1,7 @@ + +rest('/') + .produces("text/plain") + .get('/say/hello') + .route() + .transform().constant("Hello World"); +