This is an automated email from the ASF dual-hosted git repository. jamesnetherton pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/main by this push: new 69c17c8738 controlbus: Added action option tests (fixes #4009) 69c17c8738 is described below commit 69c17c87386e036d75e9c240999ad9905b6ab1d0 Author: Darren Coleman <dcole...@redhat.com> AuthorDate: Mon Oct 10 11:22:29 2022 +0100 controlbus: Added action option tests (fixes #4009) --- .../pages/reference/extensions/controlbus.adoc | 25 +++++++ .../runtime/src/main/doc/limitations.adoc | 3 + .../controlbus/runtime/src/main/doc/usage.adoc | 11 +++ .../foundation/controlbus/pom.xml | 21 ++++++ .../controlbus/it/ControlbusResource.java | 47 +++++++++++-- .../component/controlbus/it/ControlbusRoute.java | 22 +++++- .../controlbus/it/RestartRoutePolicy.java} | 52 +++++++++------ .../component/controlbus/it/RouteStats.java} | 27 ++------ .../component/controlbus/it/ControlbusTest.java | 78 +++++++++++++++++++++- .../controlbus-statistics}/pom.xml | 52 ++++++--------- .../controlbus/it/ControlbusResource.java | 17 ++--- .../component/controlbus/it/ControlbusRoute.java | 10 +-- .../component/controlbus/it/ControlbusTest.java | 15 ++--- integration-tests-jvm/pom.xml | 1 + 14 files changed, 271 insertions(+), 110 deletions(-) diff --git a/docs/modules/ROOT/pages/reference/extensions/controlbus.adoc b/docs/modules/ROOT/pages/reference/extensions/controlbus.adoc index 6e9bf5ed28..2791345494 100644 --- a/docs/modules/ROOT/pages/reference/extensions/controlbus.adoc +++ b/docs/modules/ROOT/pages/reference/extensions/controlbus.adoc @@ -44,3 +44,28 @@ Or add the coordinates to your existing project: ifeval::[{doc-show-user-guide-link} == true] Check the xref:user-guide/index.adoc[User guide] for more information about writing Camel Quarkus applications. endif::[] + +[id="extensions-controlbus-usage"] +== Usage +[id="extensions-controlbus-usage-statistics"] +=== Statistics + +When using the `stats` command endpoint, the `camel-quarkus-management` extension must be added as a project dependency to enable JMX. Maven users will have to add the following to their `pom.xml`: + +[source,xml] +---- +<dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-management</artifactId> +</dependency> +---- + + +[id="extensions-controlbus-camel-quarkus-limitations"] +== Camel Quarkus limitations + +[id="extensions-controlbus-limitations-statistics"] +=== Statistics + +The `stats` action is not available in native mode as JMX is not supported in the Graal VM. Therefore, attempting to build a native image with the `camel-quarkus-management` extension on the classpath will result in a build failure. + diff --git a/extensions/controlbus/runtime/src/main/doc/limitations.adoc b/extensions/controlbus/runtime/src/main/doc/limitations.adoc new file mode 100644 index 0000000000..f168db0742 --- /dev/null +++ b/extensions/controlbus/runtime/src/main/doc/limitations.adoc @@ -0,0 +1,3 @@ +=== Statistics + +The `stats` action is not available in native mode as JMX is not supported in the Graal VM. Therefore, attempting to build a native image with the `camel-quarkus-management` extension on the classpath will result in a build failure. \ No newline at end of file diff --git a/extensions/controlbus/runtime/src/main/doc/usage.adoc b/extensions/controlbus/runtime/src/main/doc/usage.adoc new file mode 100644 index 0000000000..cbe7cdd4c9 --- /dev/null +++ b/extensions/controlbus/runtime/src/main/doc/usage.adoc @@ -0,0 +1,11 @@ +=== Statistics + +When using the `stats` command endpoint, the `camel-quarkus-management` extension must be added as a project dependency to enable JMX. Maven users will have to add the following to their `pom.xml`: + +[source,xml] +---- +<dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-management</artifactId> +</dependency> +---- \ No newline at end of file diff --git a/integration-test-groups/foundation/controlbus/pom.xml b/integration-test-groups/foundation/controlbus/pom.xml index 40fa553217..4f1dc80f62 100644 --- a/integration-test-groups/foundation/controlbus/pom.xml +++ b/integration-test-groups/foundation/controlbus/pom.xml @@ -39,10 +39,18 @@ <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-direct</artifactId> </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-log</artifactId> + </dependency> <dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-resteasy</artifactId> </dependency> + <dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-resteasy-jsonb</artifactId> + </dependency> <!-- test dependencies --> <dependency> @@ -120,6 +128,19 @@ </exclusion> </exclusions> </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-log-deployment</artifactId> + <version>${project.version}</version> + <type>pom</type> + <scope>test</scope> + <exclusions> + <exclusion> + <groupId>*</groupId> + <artifactId>*</artifactId> + </exclusion> + </exclusions> + </dependency> </dependencies> </profile> </profiles> diff --git a/integration-test-groups/foundation/controlbus/src/main/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusResource.java b/integration-test-groups/foundation/controlbus/src/main/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusResource.java index c806f16618..82c4ba0638 100644 --- a/integration-test-groups/foundation/controlbus/src/main/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusResource.java +++ b/integration-test-groups/foundation/controlbus/src/main/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusResource.java @@ -35,29 +35,62 @@ public class ControlbusResource { @Inject ProducerTemplate producerTemplate; + @Inject + RestartRoutePolicy restartRoutePolicy; + @Path("/status") @GET @Produces(MediaType.TEXT_PLAIN) public String status() throws Exception { - final String message = producerTemplate.requestBody("direct:status", "", String.class); - LOG.infof("Received from controlbus: %s", message); - return message; + return this.process("status"); } @Path("/start") @GET @Produces(MediaType.TEXT_PLAIN) public String start() throws Exception { - final String message = producerTemplate.requestBody("direct:startRoute", "", String.class); - LOG.infof("Received from controlbus: %s", message); - return message; + return this.process("startRoute"); } @Path("/stop") @GET @Produces(MediaType.TEXT_PLAIN) public String stop() throws Exception { - final String message = producerTemplate.requestBody("direct:stopRoute", "", String.class); + return this.process("stopRoute"); + } + + @Path("/suspend") + @GET + @Produces(MediaType.TEXT_PLAIN) + public String suspend() throws Exception { + return this.process("suspendRoute"); + } + + @Path("/resume") + @GET + @Produces(MediaType.TEXT_PLAIN) + public String resume() throws Exception { + return this.process("resumeRoute"); + } + + @Path("/fail") + @GET + @Produces(MediaType.TEXT_PLAIN) + public String fail() throws Exception { + return this.process("failRoute"); + } + + @Path("/restart") + @GET + @Produces(MediaType.APPLICATION_JSON) + public RouteStats restart() throws Exception { + restartRoutePolicy.reset(); + this.process("restartRoute"); + return new RouteStats(restartRoutePolicy.getStart(), restartRoutePolicy.getStop()); + } + + private String process(String endpointName) throws Exception { + final String message = producerTemplate.requestBody("direct:" + endpointName, "", String.class); LOG.infof("Received from controlbus: %s", message); return message; } diff --git a/integration-test-groups/foundation/controlbus/src/main/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusRoute.java b/integration-test-groups/foundation/controlbus/src/main/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusRoute.java index ce0565222a..364b631910 100644 --- a/integration-test-groups/foundation/controlbus/src/main/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusRoute.java +++ b/integration-test-groups/foundation/controlbus/src/main/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusRoute.java @@ -16,18 +16,26 @@ */ package org.apache.camel.quarkus.component.controlbus.it; +import javax.enterprise.context.ApplicationScoped; +import javax.inject.Inject; + import org.apache.camel.builder.RouteBuilder; import org.jboss.logging.Logger; +@ApplicationScoped public class ControlbusRoute extends RouteBuilder { private static final Logger LOG = Logger.getLogger(ControlbusResource.class); + @Inject + RestartRoutePolicy routePolicy; + @Override public void configure() throws Exception { from("direct:control") .routeId("control") - .process(e -> LOG.info("control:" + e.getMessage().getBody(String.class))); + .routePolicy(routePolicy) + .log("control: ${body}"); from("direct:status") .transform() @@ -38,5 +46,17 @@ public class ControlbusRoute extends RouteBuilder { from("direct:startRoute") .to("controlbus:route?routeId=control&action=start"); + + from("direct:suspendRoute") + .to("controlbus:route?routeId=control&action=suspend"); + + from("direct:resumeRoute") + .to("controlbus:route?routeId=control&action=resume"); + + from("direct:failRoute") + .to("controlbus:route?routeId=control&action=fail"); + + from("direct:restartRoute") + .to("controlbus:route?routeId=control&action=restart"); } } diff --git a/integration-test-groups/foundation/controlbus/src/test/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusTest.java b/integration-test-groups/foundation/controlbus/src/main/java/org/apache/camel/quarkus/component/controlbus/it/RestartRoutePolicy.java similarity index 54% copy from integration-test-groups/foundation/controlbus/src/test/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusTest.java copy to integration-test-groups/foundation/controlbus/src/main/java/org/apache/camel/quarkus/component/controlbus/it/RestartRoutePolicy.java index af190f34a0..1577fe038a 100644 --- a/integration-test-groups/foundation/controlbus/src/test/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusTest.java +++ b/integration-test-groups/foundation/controlbus/src/main/java/org/apache/camel/quarkus/component/controlbus/it/RestartRoutePolicy.java @@ -16,27 +16,37 @@ */ package org.apache.camel.quarkus.component.controlbus.it; -import io.quarkus.test.junit.QuarkusTest; -import io.restassured.RestAssured; -import io.restassured.http.ContentType; -import org.junit.jupiter.api.Test; - -@QuarkusTest -class ControlbusTest { - - @Test - public void test() { - RestAssured.given() - .contentType(ContentType.TEXT).get("/controlbus/status") - .then().body(org.hamcrest.CoreMatchers.equalTo("Started")); - - RestAssured.given() - .contentType(ContentType.TEXT).get("/controlbus/stop") - .then().statusCode(200); - - RestAssured.given() - .contentType(ContentType.TEXT).get("/controlbus/status") - .then().body(org.hamcrest.CoreMatchers.equalTo("Stopped")); +import javax.inject.Singleton; + +import org.apache.camel.Route; +import org.apache.camel.support.RoutePolicySupport; + +@Singleton +public class RestartRoutePolicy extends RoutePolicySupport { + + private int startCount = 0; + private int stopCount = 0; + + @Override + public void onStart(Route route) { + this.startCount++; + } + + @Override + public void onStop(Route route) { + this.stopCount++; } + public int getStart() { + return this.startCount; + } + + public int getStop() { + return this.stopCount; + } + + public void reset() { + this.startCount = 0; + this.stopCount = 0; + } } diff --git a/integration-test-groups/foundation/controlbus/src/test/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusTest.java b/integration-test-groups/foundation/controlbus/src/main/java/org/apache/camel/quarkus/component/controlbus/it/RouteStats.java similarity index 54% copy from integration-test-groups/foundation/controlbus/src/test/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusTest.java copy to integration-test-groups/foundation/controlbus/src/main/java/org/apache/camel/quarkus/component/controlbus/it/RouteStats.java index af190f34a0..4b5dddccd3 100644 --- a/integration-test-groups/foundation/controlbus/src/test/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusTest.java +++ b/integration-test-groups/foundation/controlbus/src/main/java/org/apache/camel/quarkus/component/controlbus/it/RouteStats.java @@ -16,27 +16,12 @@ */ package org.apache.camel.quarkus.component.controlbus.it; -import io.quarkus.test.junit.QuarkusTest; -import io.restassured.RestAssured; -import io.restassured.http.ContentType; -import org.junit.jupiter.api.Test; +public class RouteStats { + public int startCount; + public int stopCount; -@QuarkusTest -class ControlbusTest { - - @Test - public void test() { - RestAssured.given() - .contentType(ContentType.TEXT).get("/controlbus/status") - .then().body(org.hamcrest.CoreMatchers.equalTo("Started")); - - RestAssured.given() - .contentType(ContentType.TEXT).get("/controlbus/stop") - .then().statusCode(200); - - RestAssured.given() - .contentType(ContentType.TEXT).get("/controlbus/status") - .then().body(org.hamcrest.CoreMatchers.equalTo("Stopped")); + public RouteStats(int startCount, int stopCount) { + this.startCount = startCount; + this.stopCount = stopCount; } - } diff --git a/integration-test-groups/foundation/controlbus/src/test/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusTest.java b/integration-test-groups/foundation/controlbus/src/test/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusTest.java index af190f34a0..ddd18d28ea 100644 --- a/integration-test-groups/foundation/controlbus/src/test/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusTest.java +++ b/integration-test-groups/foundation/controlbus/src/test/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusTest.java @@ -19,16 +19,27 @@ package org.apache.camel.quarkus.component.controlbus.it; import io.quarkus.test.junit.QuarkusTest; import io.restassured.RestAssured; import io.restassured.http.ContentType; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import static org.hamcrest.CoreMatchers.equalTo; + @QuarkusTest class ControlbusTest { + @BeforeEach + public void startRoute() { + String status = RestAssured.get("/controlbus/status").asString(); + if ("Stopped".equals(status)) { + RestAssured.get("/controlbus/start"); + } + } + @Test - public void test() { + public void testStopStart() { RestAssured.given() .contentType(ContentType.TEXT).get("/controlbus/status") - .then().body(org.hamcrest.CoreMatchers.equalTo("Started")); + .then().body(equalTo("Started")); RestAssured.given() .contentType(ContentType.TEXT).get("/controlbus/stop") @@ -36,7 +47,68 @@ class ControlbusTest { RestAssured.given() .contentType(ContentType.TEXT).get("/controlbus/status") - .then().body(org.hamcrest.CoreMatchers.equalTo("Stopped")); + .then().body(equalTo("Stopped")); + + RestAssured.given() + .contentType(ContentType.TEXT).get("/controlbus/start") + .then().statusCode(200); + + RestAssured.given() + .contentType(ContentType.TEXT).get("/controlbus/status") + .then().body(equalTo("Started")); + } + + @Test + public void testSuspendResume() { + RestAssured.given() + .contentType(ContentType.TEXT).get("/controlbus/status") + .then().body(equalTo("Started")); + + RestAssured.given() + .contentType(ContentType.TEXT).get("/controlbus/suspend") + .then().statusCode(200); + + RestAssured.given() + .contentType(ContentType.TEXT).get("/controlbus/status") + .then().body(equalTo("Suspended")); + + RestAssured.given() + .contentType(ContentType.TEXT).get("/controlbus/resume") + .then().statusCode(200); + + RestAssured.given() + .contentType(ContentType.TEXT).get("/controlbus/status") + .then().body(equalTo("Started")); } + @Test + public void testFail() { + RestAssured.given() + .contentType(ContentType.TEXT).get("/controlbus/status") + .then().body(equalTo("Started")); + + RestAssured.given() + .contentType(ContentType.TEXT).get("/controlbus/fail") + .then().statusCode(200); + + RestAssured.given() + .contentType(ContentType.TEXT).get("/controlbus/status") + .then().body(equalTo("Stopped")); + } + + @Test + public void testRestart() { + RestAssured.given() + .contentType(ContentType.TEXT).get("/controlbus/status") + .then().body(equalTo("Started")); + + RestAssured.given() + .get("/controlbus/restart") + .then().body("startCount", equalTo(1)) + .body("stopCount", equalTo(1)); + + RestAssured.given() + .contentType(ContentType.TEXT).get("/controlbus/status") + .then().body(equalTo("Started")); + } } diff --git a/integration-test-groups/foundation/controlbus/pom.xml b/integration-tests-jvm/controlbus-statistics/pom.xml similarity index 75% copy from integration-test-groups/foundation/controlbus/pom.xml copy to integration-tests-jvm/controlbus-statistics/pom.xml index 40fa553217..ffcc133245 100644 --- a/integration-test-groups/foundation/controlbus/pom.xml +++ b/integration-tests-jvm/controlbus-statistics/pom.xml @@ -23,12 +23,12 @@ <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-build-parent-it</artifactId> <version>2.14.0-SNAPSHOT</version> - <relativePath>../../../poms/build-parent-it/pom.xml</relativePath> + <relativePath>../../poms/build-parent-it/pom.xml</relativePath> </parent> - <artifactId>camel-quarkus-integration-test-controlbus</artifactId> - <name>Camel Quarkus :: Integration Tests :: Control Bus</name> - <description>Integration tests for Camel Quarkus Control Bus extension</description> + <artifactId>camel-quarkus-integration-test-controlbus-statistics</artifactId> + <name>Camel Quarkus :: Integration Tests :: Controlbus Statistics</name> + <description>Integration tests for Camel Quarkus Controlbus Statistics extension</description> <dependencies> <dependency> @@ -39,6 +39,10 @@ <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-direct</artifactId> </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-management</artifactId> + </dependency> <dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-resteasy</artifactId> @@ -58,33 +62,6 @@ </dependencies> <profiles> - <profile> - <id>native</id> - <activation> - <property> - <name>native</name> - </property> - </activation> - <properties> - <quarkus.package.type>native</quarkus.package.type> - </properties> - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-failsafe-plugin</artifactId> - <executions> - <execution> - <goals> - <goal>integration-test</goal> - <goal>verify</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> <profile> <id>virtualDependencies</id> <activation> @@ -120,6 +97,19 @@ </exclusion> </exclusions> </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-management-deployment</artifactId> + <version>${project.version}</version> + <type>pom</type> + <scope>test</scope> + <exclusions> + <exclusion> + <groupId>*</groupId> + <artifactId>*</artifactId> + </exclusion> + </exclusions> + </dependency> </dependencies> </profile> </profiles> diff --git a/integration-test-groups/foundation/controlbus/src/main/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusResource.java b/integration-tests-jvm/controlbus-statistics/src/main/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusResource.java similarity index 80% copy from integration-test-groups/foundation/controlbus/src/main/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusResource.java copy to integration-tests-jvm/controlbus-statistics/src/main/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusResource.java index c806f16618..4eaecc9aa3 100644 --- a/integration-test-groups/foundation/controlbus/src/main/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusResource.java +++ b/integration-tests-jvm/controlbus-statistics/src/main/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusResource.java @@ -44,20 +44,11 @@ public class ControlbusResource { return message; } - @Path("/start") + @Path("/stats") @GET - @Produces(MediaType.TEXT_PLAIN) - public String start() throws Exception { - final String message = producerTemplate.requestBody("direct:startRoute", "", String.class); - LOG.infof("Received from controlbus: %s", message); - return message; - } - - @Path("/stop") - @GET - @Produces(MediaType.TEXT_PLAIN) - public String stop() throws Exception { - final String message = producerTemplate.requestBody("direct:stopRoute", "", String.class); + @Produces(MediaType.APPLICATION_XML) + public String stats() throws Exception { + final String message = producerTemplate.requestBody("direct:statsRoute", "", String.class); LOG.infof("Received from controlbus: %s", message); return message; } diff --git a/integration-test-groups/foundation/controlbus/src/main/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusRoute.java b/integration-tests-jvm/controlbus-statistics/src/main/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusRoute.java similarity index 91% copy from integration-test-groups/foundation/controlbus/src/main/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusRoute.java copy to integration-tests-jvm/controlbus-statistics/src/main/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusRoute.java index ce0565222a..879c95c554 100644 --- a/integration-test-groups/foundation/controlbus/src/main/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusRoute.java +++ b/integration-tests-jvm/controlbus-statistics/src/main/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusRoute.java @@ -16,9 +16,12 @@ */ package org.apache.camel.quarkus.component.controlbus.it; +import javax.enterprise.context.ApplicationScoped; + import org.apache.camel.builder.RouteBuilder; import org.jboss.logging.Logger; +@ApplicationScoped public class ControlbusRoute extends RouteBuilder { private static final Logger LOG = Logger.getLogger(ControlbusResource.class); @@ -33,10 +36,7 @@ public class ControlbusRoute extends RouteBuilder { .transform() .exchange(e -> e.getContext().getRouteController().getRouteStatus("control").name()); - from("direct:stopRoute") - .to("controlbus:route?routeId=control&action=stop"); - - from("direct:startRoute") - .to("controlbus:route?routeId=control&action=start"); + from("direct:statsRoute") + .to("controlbus:route?routeId=control&action=stats"); } } diff --git a/integration-test-groups/foundation/controlbus/src/test/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusTest.java b/integration-tests-jvm/controlbus-statistics/src/test/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusTest.java similarity index 75% copy from integration-test-groups/foundation/controlbus/src/test/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusTest.java copy to integration-tests-jvm/controlbus-statistics/src/test/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusTest.java index af190f34a0..172d718113 100644 --- a/integration-test-groups/foundation/controlbus/src/test/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusTest.java +++ b/integration-tests-jvm/controlbus-statistics/src/test/java/org/apache/camel/quarkus/component/controlbus/it/ControlbusTest.java @@ -21,22 +21,21 @@ import io.restassured.RestAssured; import io.restassured.http.ContentType; import org.junit.jupiter.api.Test; +import static org.hamcrest.CoreMatchers.equalTo; + @QuarkusTest class ControlbusTest { @Test - public void test() { + public void testStats() { RestAssured.given() .contentType(ContentType.TEXT).get("/controlbus/status") - .then().body(org.hamcrest.CoreMatchers.equalTo("Started")); - - RestAssured.given() - .contentType(ContentType.TEXT).get("/controlbus/stop") - .then().statusCode(200); + .then().body(equalTo("Started")); RestAssured.given() - .contentType(ContentType.TEXT).get("/controlbus/status") - .then().body(org.hamcrest.CoreMatchers.equalTo("Stopped")); + .get("controlbus/stats") + .then().body("routeStat.@id", equalTo("control")) + .body("routeStat.@state", equalTo("Started")); } } diff --git a/integration-tests-jvm/pom.xml b/integration-tests-jvm/pom.xml index 4cfed236e1..e69275c958 100644 --- a/integration-tests-jvm/pom.xml +++ b/integration-tests-jvm/pom.xml @@ -50,6 +50,7 @@ <module>cmis</module> <module>coap</module> <module>cometd</module> + <module>controlbus-statistics</module> <module>corda</module> <module>couchbase</module> <module>debug</module>