You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2011/09/18 09:37:52 UTC
svn commit: r1172210 - in /camel/trunk/tests/camel-itest-osgi: ./
src/test/java/org/apache/camel/itest/osgi/hazelcast/
Author: davsclaus
Date: Sun Sep 18 07:37:51 2011
New Revision: 1172210
URL: http://svn.apache.org/viewvc?rev=1172210&view=rev
Log:
CAMEL-4461: Added hazelcast osgi test. Thanks to Ioannis for the patch.
Added:
camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/hazelcast/
camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/hazelcast/HazelcastTest.java (with props)
camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/hazelcast/SimpleObject.java (with props)
Modified:
camel/trunk/tests/camel-itest-osgi/pom.xml
Modified: camel/trunk/tests/camel-itest-osgi/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest-osgi/pom.xml?rev=1172210&r1=1172209&r2=1172210&view=diff
==============================================================================
--- camel/trunk/tests/camel-itest-osgi/pom.xml (original)
+++ camel/trunk/tests/camel-itest-osgi/pom.xml Sun Sep 18 07:37:51 2011
@@ -158,6 +158,11 @@
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
+ <artifactId>camel-hazelcast</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
<artifactId>camel-hl7</artifactId>
<scope>test</scope>
</dependency>
Added: camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/hazelcast/HazelcastTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/hazelcast/HazelcastTest.java?rev=1172210&view=auto
==============================================================================
--- camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/hazelcast/HazelcastTest.java (added)
+++ camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/hazelcast/HazelcastTest.java Sun Sep 18 07:37:51 2011
@@ -0,0 +1,114 @@
+package org.apache.camel.itest.osgi.hazelcast;
+
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.itest.osgi.OSGiIntegrationTestSupport;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.ops4j.pax.exam.Option;
+import org.ops4j.pax.exam.junit.Configuration;
+import org.ops4j.pax.exam.junit.JUnit4TestRunner;
+import org.apache.camel.component.hazelcast.HazelcastConstants;
+
+import static org.ops4j.pax.exam.OptionUtils.combine;
+import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.scanFeatures;
+
+@RunWith(JUnit4TestRunner.class)
+public class HazelcastTest extends OSGiIntegrationTestSupport {
+
+ @Test
+ public void testAtomicNumber() throws Exception {
+ String reply = template.requestBody("direct:getatomic", null, String.class);
+ assertNotNull(reply);
+ long value = Long.parseLong(reply);
+ assertEquals("Should be 0",0L,value);
+
+
+ template.sendBody("direct:setatomic", 100L);
+ reply = template.requestBody("direct:getatomic", null, String.class);
+ assertNotNull(reply);
+ value = Long.parseLong(reply);
+ assertEquals("Should be 100",100L,value);
+ }
+
+ @Test
+ public void testMap() throws Exception {
+ SimpleObject item1 = new SimpleObject(1L,"Some value");
+ SimpleObject item2 = new SimpleObject(2L,"Some other value");
+
+ template.sendBodyAndHeader("direct:mapput", item1,HazelcastConstants.OBJECT_ID,"1");
+ template.sendBodyAndHeader("direct:mapput", item2,HazelcastConstants.OBJECT_ID,"2");
+
+ Object result2 = template.requestBodyAndHeader("direct:mapget", null,HazelcastConstants.OBJECT_ID,"2");
+ assertNotNull(result2);
+ assertEquals("Should be equal",item2,result2);
+ Object result1 = template.requestBodyAndHeader("direct:mapget", null,HazelcastConstants.OBJECT_ID,"1");
+ assertNotNull(result1);
+ assertEquals("Should be equal",item1,result1);
+ Object resul3 = template.requestBodyAndHeader("direct:mapget", null,HazelcastConstants.OBJECT_ID,"3");
+ assertNull(resul3);
+ }
+
+
+ @Test
+ public void testQueue() throws Exception {
+ SimpleObject item1 = new SimpleObject(1L,"Some value");
+ SimpleObject item2 = new SimpleObject(2L,"Some other value");
+
+ template.sendBodyAndHeader("direct:queueput", item1,HazelcastConstants.OPERATION,HazelcastConstants.ADD_OPERATION);
+ template.sendBodyAndHeader("direct:queueput", item2,HazelcastConstants.OPERATION,HazelcastConstants.ADD_OPERATION);
+
+ Object result1 = template.requestBody("direct:queuepoll",new Object());
+ assertNotNull(result1);
+ assertEquals("Should be equal",item1,result1);
+ Object result2 = template.requestBody("direct:queuepoll",new Object());
+ assertNotNull(result2);
+ assertEquals("Should be equal",item1,result1);
+ Object resul3 = template.requestBody("direct:queuepoll",new Object());
+ assertNull(resul3);
+ }
+
+
+ protected RouteBuilder createRouteBuilder() {
+ return new RouteBuilder() {
+ public void configure() {
+
+ //Atomic number
+ from("direct:getatomic")
+ .setHeader(HazelcastConstants.OPERATION, constant(HazelcastConstants.GET_OPERATION))
+ .toF("hazelcast:atomicvalue:myvalue");
+
+ from("direct:setatomic")
+ .setHeader(HazelcastConstants.OPERATION, constant(HazelcastConstants.SETVALUE_OPERATION))
+ .toF("hazelcast:atomicvalue:myvalue");
+
+ //Map
+ from("direct:mapput")
+ .setHeader(HazelcastConstants.OPERATION, constant(HazelcastConstants.PUT_OPERATION))
+ .toF("hazelcast:map:mymap", HazelcastConstants.MAP_PREFIX);
+
+ from("direct:mapget")
+ .setHeader(HazelcastConstants.OPERATION, constant(HazelcastConstants.GET_OPERATION))
+ .toF("hazelcast:map:mymap");
+
+ //Queue
+ from("direct:queueput")
+ .setHeader(HazelcastConstants.OPERATION, constant(HazelcastConstants.PUT_OPERATION))
+ .toF("hazelcast:queue:myqueue");
+
+ from("direct:queuepoll")
+ .setHeader(HazelcastConstants.OPERATION, constant(HazelcastConstants.POLL_OPERATION))
+ .toF("hazelcast:queue:myqueue");
+ }
+ };
+ }
+
+ @Configuration
+ public static Option[] configure() {
+ Option[] options = combine(
+ getDefaultCamelKarafOptions(),
+ // using the features to install the other camel components
+ scanFeatures(getCamelKarafFeatureUrl(), "camel-hazelcast"));
+
+ return options;
+ }
+}
\ No newline at end of file
Propchange: camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/hazelcast/HazelcastTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/hazelcast/HazelcastTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/hazelcast/SimpleObject.java
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/hazelcast/SimpleObject.java?rev=1172210&view=auto
==============================================================================
--- camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/hazelcast/SimpleObject.java (added)
+++ camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/hazelcast/SimpleObject.java Sun Sep 18 07:37:51 2011
@@ -0,0 +1,51 @@
+package org.apache.camel.itest.osgi.hazelcast;
+
+import java.io.Serializable;
+
+public class SimpleObject implements Serializable {
+
+ Long id;
+ Object value;
+
+ public SimpleObject(Long id) {
+ this.id = id;
+ }
+
+ public SimpleObject(Long id, Object value) {
+ this.id = id;
+ this.value = value;
+ }
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public Object getValue() {
+ return value;
+ }
+
+ public void setValue(Object value) {
+ this.value = value;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+
+ SimpleObject that = (SimpleObject) o;
+
+ if (!id.equals(that.id)) return false;
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ return id.hashCode();
+ }
+}
Propchange: camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/hazelcast/SimpleObject.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/hazelcast/SimpleObject.java
------------------------------------------------------------------------------
svn:keywords = Rev Date