Add test assertions
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/bca893f6 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/bca893f6 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/bca893f6 Branch: refs/heads/master Commit: bca893f6f9ffb1e39aefa2b4cc9ae0b143fe28ac Parents: 374d24f Author: Antonin Stefanutti <anto...@stefanutti.fr> Authored: Fri Jan 22 12:19:49 2016 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Fri Jan 22 15:57:19 2016 +0100 ---------------------------------------------------------------------- .../test/RouteBuilderWithContextNameTest.java | 73 ------------ .../test/RouteBuildersWithContextNamesTest.java | 113 +++++++++++++++++++ .../RouteBuildersWithSameContextNameTest.java | 36 ++++-- 3 files changed, 139 insertions(+), 83 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/bca893f6/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/RouteBuilderWithContextNameTest.java ---------------------------------------------------------------------- diff --git a/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/RouteBuilderWithContextNameTest.java b/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/RouteBuilderWithContextNameTest.java deleted file mode 100644 index 2bb6519..0000000 --- a/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/RouteBuilderWithContextNameTest.java +++ /dev/null @@ -1,73 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.camel.cdi.test; - -import java.util.concurrent.TimeUnit; -import javax.inject.Inject; - -import org.apache.camel.ProducerTemplate; -import org.apache.camel.cdi.CdiCamelExtension; -import org.apache.camel.cdi.Uri; -import org.apache.camel.cdi.bean.FirstCamelContextEndpointInjectRoute; -import org.apache.camel.cdi.bean.SecondCamelContextEndpointInjectRoute; -import org.apache.camel.component.mock.MockEndpoint; -import org.jboss.arquillian.container.test.api.Deployment; -import org.jboss.arquillian.junit.Arquillian; -import org.jboss.shrinkwrap.api.Archive; -import org.jboss.shrinkwrap.api.ShrinkWrap; -import org.jboss.shrinkwrap.api.asset.EmptyAsset; -import org.jboss.shrinkwrap.api.spec.JavaArchive; -import org.junit.Test; -import org.junit.runner.RunWith; - -import static org.apache.camel.component.mock.MockEndpoint.assertIsSatisfied; - -@RunWith(Arquillian.class) -public class RouteBuilderWithContextNameTest { - - @Inject - @Uri(value = "direct:inbound", context = "first") - private ProducerTemplate inbound; - - @Inject - @Uri(value = "mock:outbound", context = "first") - private MockEndpoint outbound; - - @Deployment - public static Archive<?> deployment() { - return ShrinkWrap.create(JavaArchive.class) - // Camel CDI - .addPackage(CdiCamelExtension.class.getPackage()) - // Test classes - .addClasses( - FirstCamelContextEndpointInjectRoute.class, - SecondCamelContextEndpointInjectRoute.class) - // Bean archive deployment descriptor - .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml"); - } - - @Test - public void sendMessageToInbound() throws InterruptedException { - outbound.expectedMessageCount(1); - outbound.expectedBodiesReceived("test"); - outbound.expectedHeaderReceived("context", "first"); - - inbound.sendBody("test"); - - assertIsSatisfied(2L, TimeUnit.SECONDS, outbound); - } -} http://git-wip-us.apache.org/repos/asf/camel/blob/bca893f6/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/RouteBuildersWithContextNamesTest.java ---------------------------------------------------------------------- diff --git a/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/RouteBuildersWithContextNamesTest.java b/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/RouteBuildersWithContextNamesTest.java new file mode 100644 index 0000000..045f80e --- /dev/null +++ b/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/RouteBuildersWithContextNamesTest.java @@ -0,0 +1,113 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.camel.cdi.test; + +import java.util.concurrent.TimeUnit; +import javax.enterprise.inject.Any; +import javax.enterprise.inject.Instance; + +import org.apache.camel.CamelContext; +import org.apache.camel.ProducerTemplate; +import org.apache.camel.ServiceStatus; +import org.apache.camel.cdi.CdiCamelExtension; +import org.apache.camel.cdi.ContextName; +import org.apache.camel.cdi.Uri; +import org.apache.camel.cdi.bean.FirstCamelContextEndpointInjectRoute; +import org.apache.camel.cdi.bean.SecondCamelContextEndpointInjectRoute; +import org.apache.camel.component.mock.MockEndpoint; +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit.Arquillian; +import org.jboss.shrinkwrap.api.Archive; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.asset.EmptyAsset; +import org.jboss.shrinkwrap.api.spec.JavaArchive; +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.apache.camel.component.mock.MockEndpoint.assertIsSatisfied; +import static org.hamcrest.Matchers.containsInAnyOrder; +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.hasProperty; +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertThat; + +@RunWith(Arquillian.class) +public class RouteBuildersWithContextNamesTest { + + @Deployment + public static Archive<?> deployment() { + return ShrinkWrap.create(JavaArchive.class) + // Camel CDI + .addPackage(CdiCamelExtension.class.getPackage()) + // Test classes + .addClasses( + FirstCamelContextEndpointInjectRoute.class, + SecondCamelContextEndpointInjectRoute.class) + // Bean archive deployment descriptor + .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml"); + } + + @Test + public void verifyCamelContexts(@Any Instance<CamelContext> contexts) { + assertThat("Context instances are incorrect!", contexts, + containsInAnyOrder( + hasProperty("name", is(equalTo("first"))), + hasProperty("name", is(equalTo("second"))))); + } + + @Test + public void verifyFirstCamelContext(@ContextName("first") CamelContext first) { + assertThat("Context name is incorrect!", first.getName(), is(equalTo("first"))); + assertThat("Number of routes is incorrect!", first.getRoutes().size(), is(equalTo(1))); + assertThat("Context status is incorrect!", first.getStatus(), is(equalTo(ServiceStatus.Started))); + } + + @Test + public void verifySecondCamelContext(@ContextName("second") CamelContext second) { + assertThat("Context name is incorrect!", second.getName(), is(equalTo("second"))); + assertThat("Number of routes is incorrect!", second.getRoutes().size(), is(equalTo(1))); + assertThat("Context status is incorrect!", second.getStatus(), is(equalTo(ServiceStatus.Started))); + } + + @Test + public void sendMessageToFirstInbound(@Uri(value = "direct:inbound", context = "first") + ProducerTemplate inbound, + @Uri(value = "mock:outbound", context = "first") + MockEndpoint outbound) throws InterruptedException { + outbound.expectedMessageCount(1); + outbound.expectedBodiesReceived("test"); + outbound.expectedHeaderReceived("context", "first"); + + inbound.sendBody("test"); + + assertIsSatisfied(2L, TimeUnit.SECONDS, outbound); + } + + @Test + public void sendMessageToSecondInbound(@Uri("direct:inbound") @ContextName("second") + ProducerTemplate inbound, + @Uri("mock:outbound") @ContextName("second") + MockEndpoint outbound) throws InterruptedException { + outbound.expectedMessageCount(1); + outbound.expectedBodiesReceived("test"); + outbound.expectedHeaderReceived("context", "second"); + + inbound.sendBody("test"); + + assertIsSatisfied(2L, TimeUnit.SECONDS, outbound); + } +} http://git-wip-us.apache.org/repos/asf/camel/blob/bca893f6/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/RouteBuildersWithSameContextNameTest.java ---------------------------------------------------------------------- diff --git a/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/RouteBuildersWithSameContextNameTest.java b/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/RouteBuildersWithSameContextNameTest.java index 4a3fcd2..80a5b53 100644 --- a/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/RouteBuildersWithSameContextNameTest.java +++ b/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/RouteBuildersWithSameContextNameTest.java @@ -17,10 +17,14 @@ package org.apache.camel.cdi.test; import java.util.concurrent.TimeUnit; -import javax.inject.Inject; +import javax.enterprise.inject.Any; +import javax.enterprise.inject.Instance; +import org.apache.camel.CamelContext; import org.apache.camel.ProducerTemplate; +import org.apache.camel.ServiceStatus; import org.apache.camel.cdi.CdiCamelExtension; +import org.apache.camel.cdi.ContextName; import org.apache.camel.cdi.Uri; import org.apache.camel.cdi.bean.FirstCamelContextEndpointInjectRoute; import org.apache.camel.cdi.bean.FirstCamelContextEventConsumingRoute; @@ -36,18 +40,15 @@ import org.junit.Test; import org.junit.runner.RunWith; import static org.apache.camel.component.mock.MockEndpoint.assertIsSatisfied; +import static org.hamcrest.Matchers.contains; +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.hasProperty; +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertThat; @RunWith(Arquillian.class) public class RouteBuildersWithSameContextNameTest { - @Inject - @Uri(value = "direct:inbound", context = "first") - private ProducerTemplate inbound; - - @Inject - @Uri(value = "mock:outbound", context = "first") - private MockEndpoint outbound; - @Deployment public static Archive<?> deployment() { return ShrinkWrap.create(JavaArchive.class) @@ -63,7 +64,22 @@ public class RouteBuildersWithSameContextNameTest { } @Test - public void sendMessageToInbound() throws InterruptedException { + public void verifyCamelContexts(@Any Instance<CamelContext> contexts) { + assertThat("Context instances are incorrect!", contexts, + contains( + hasProperty("name", is(equalTo("first"))))); + } + + @Test + public void verifyCamelContext(@ContextName("first") CamelContext first) { + assertThat("Context name is incorrect!", first.getName(), is(equalTo("first"))); + assertThat("Number of routes is incorrect!", first.getRoutes().size(), is(equalTo(3))); + assertThat("Context status is incorrect!", first.getStatus(), is(equalTo(ServiceStatus.Started))); + } + + @Test + public void sendMessageToInbound(@Uri("direct:inbound") ProducerTemplate inbound, + @Uri("mock:outbound") MockEndpoint outbound) throws InterruptedException { outbound.expectedMessageCount(1); outbound.expectedBodiesReceived("test"); outbound.expectedHeaderReceived("context", "first");