Author: ningjiang
Date: Thu May  5 08:28:30 2011
New Revision: 1099712

URL: http://svn.apache.org/viewvc?rev=1099712&view=rev
Log:
CAMEL-3867 Added OSGi integration tests for the camel-cache

Added:
    
camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cache/CacheRoutesManagementTest.java
      - copied, changed from r1099711, 
camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cache/CacheManagerFactoryRefTest.java
Modified:
    
camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cache/CacheManagerFactoryRefTest.java

Modified: 
camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cache/CacheManagerFactoryRefTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cache/CacheManagerFactoryRefTest.java?rev=1099712&r1=1099711&r2=1099712&view=diff
==============================================================================
--- 
camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cache/CacheManagerFactoryRefTest.java
 (original)
+++ 
camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cache/CacheManagerFactoryRefTest.java
 Thu May  5 08:28:30 2011
@@ -22,6 +22,7 @@ import net.sf.ehcache.Cache;
 import net.sf.ehcache.CacheManager;
 
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.cache.CacheConstants;
 import org.apache.camel.component.cache.CacheEndpoint;
 import org.apache.camel.component.cache.CacheManagerFactory;
 import org.apache.camel.itest.osgi.OSGiIntegrationTestSupport;
@@ -54,6 +55,9 @@ public class CacheManagerFactoryRefTest 
     public void testCache() throws Exception {
         CacheEndpoint endpoint = (CacheEndpoint) 
context.getEndpoint(CACHE_URI);
 
+        // do some routes to let everything be initialized
+        template.sendBody("direct:add", "Hello World");
+
         // Is CacheManagerFactory really referenced?
         CacheManagerFactory cmf = endpoint.getCacheManagerFactory();
         assertEquals("Cache Manager Factory Referenced", cmfRef, cmf);
@@ -67,7 +71,10 @@ public class CacheManagerFactoryRefTest 
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                from("direct:test").to(CACHE_URI);
+                from("direct:add")
+                    .setHeader(CacheConstants.CACHE_OPERATION, 
constant(CacheConstants.CACHE_OPERATION_ADD))
+                    .setHeader(CacheConstants.CACHE_KEY, constant("foo"))
+                    .to(CACHE_URI);
             }
         };
     }

Copied: 
camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cache/CacheRoutesManagementTest.java
 (from r1099711, 
camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cache/CacheManagerFactoryRefTest.java)
URL: 
http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cache/CacheRoutesManagementTest.java?p2=camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cache/CacheRoutesManagementTest.java&p1=camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cache/CacheManagerFactoryRefTest.java&r1=1099711&r2=1099712&rev=1099712&view=diff
==============================================================================
--- 
camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cache/CacheManagerFactoryRefTest.java
 (original)
+++ 
camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cache/CacheRoutesManagementTest.java
 Thu May  5 08:28:30 2011
@@ -20,9 +20,10 @@ import javax.naming.Context;
 
 import net.sf.ehcache.Cache;
 import net.sf.ehcache.CacheManager;
+import net.sf.ehcache.Status;
 
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cache.CacheEndpoint;
+import org.apache.camel.component.cache.CacheConstants;
 import org.apache.camel.component.cache.CacheManagerFactory;
 import org.apache.camel.itest.osgi.OSGiIntegrationTestSupport;
 import org.apache.karaf.testing.Helper;
@@ -39,8 +40,10 @@ import static org.ops4j.pax.exam.contain
 import static 
org.ops4j.pax.exam.container.def.PaxRunnerOptions.workingDirectory;
 
 @RunWith(JUnit4TestRunner.class)
-public class CacheManagerFactoryRefTest extends OSGiIntegrationTestSupport {
+public class CacheRoutesManagementTest extends OSGiIntegrationTestSupport {
     private static final String CACHE_URI = 
"cache:foo?cacheManagerFactory=#cacheManagerFactory";
+    private static final String ROUTE1_ID = "TEST_ROUTE_1";
+    private static final String ROUTE2_ID = "TEST_ROUTE_2";
     private TestingCacheManagerFactory cmfRef = new 
TestingCacheManagerFactory("ehcache_test.xml");
 
     @Override
@@ -52,22 +55,47 @@ public class CacheManagerFactoryRefTest 
 
     @Test
     public void testCache() throws Exception {
-        CacheEndpoint endpoint = (CacheEndpoint) 
context.getEndpoint(CACHE_URI);
+        // Is cache manager initialized before doing any routing?
+        CacheManager cacheManager = cmfRef.getCacheManager();
+        assertNull("CacheManager initialized", cacheManager);
 
-        // Is CacheManagerFactory really referenced?
-        CacheManagerFactory cmf = endpoint.getCacheManagerFactory();
-        assertEquals("Cache Manager Factory Referenced", cmfRef, cmf);
-
-        // Is the right ehcache_test.xml config. loaded?
-        Cache cache = cmfRef.getCacheManager().getCache("testingOne");
-        assertNotNull("Is ehcache_test.xml loaded", cache);
+        // Now do some routes to let endpoints be initialized
+        template.sendBody("direct:add1", "Hello World");
+        template.sendBody("direct:add2", "Hello World");
+
+        //Now should not be null
+        cacheManager = cmfRef.getCacheManager();
+        assertNotNull("CacheManager initialized", cacheManager);
+
+        Cache cache = cmfRef.getCacheManager().getCache("foo");
+
+        // Is cache alive
+        assertEquals("Is cache still alive", Status.STATUS_ALIVE, 
cache.getStatus());
+
+        context.stopRoute(ROUTE1_ID);
+
+        // Is cache still alive
+        assertEquals("Is cache still alive", Status.STATUS_ALIVE, 
cache.getStatus());
+
+        context.stop();
+
+        // Was the cache shutdowned with context?
+        assertEquals("Is cache still alive", Status.STATUS_SHUTDOWN, 
cache.getStatus());
     }
 
     @Override
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                from("direct:test").to(CACHE_URI);
+                from("direct:add1")
+                .setHeader(CacheConstants.CACHE_OPERATION, 
constant(CacheConstants.CACHE_OPERATION_ADD))
+                .setHeader(CacheConstants.CACHE_KEY, constant("foo"))
+                .to(CACHE_URI).setId(ROUTE1_ID);
+
+                from("direct:add2")
+                .setHeader(CacheConstants.CACHE_OPERATION, 
constant(CacheConstants.CACHE_OPERATION_ADD))
+                .setHeader(CacheConstants.CACHE_KEY, constant("foo"))
+                .to(CACHE_URI).setId(ROUTE2_ID);
             }
         };
     }


Reply via email to