[jboss-cvs] JBossCache/tests/functional/org/jboss/cache ...

Brian Stansberry brian.stansberry at jboss.com
Tue May 22 20:51:40 EDT 2007


  User: bstansberry
  Date: 07/05/22 20:51:40

  Modified:    tests/functional/org/jboss/cache  LifeCycleTest.java
  Log:
  [JBCACHE-1058] Test duplicate invocations; lifecycle state
  
  Revision  Changes    Path
  1.9       +89 -1     JBossCache/tests/functional/org/jboss/cache/LifeCycleTest.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: LifeCycleTest.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/tests/functional/org/jboss/cache/LifeCycleTest.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -b -r1.8 -r1.9
  --- LifeCycleTest.java	7 Feb 2007 22:06:39 -0000	1.8
  +++ LifeCycleTest.java	23 May 2007 00:51:40 -0000	1.9
  @@ -16,7 +16,7 @@
    * Tests restart (stop-destroy-create-start) of CacheImpl
    *
    * @author Bela Ban
  - * @version $Id: LifeCycleTest.java,v 1.8 2007/02/07 22:06:39 genman Exp $
  + * @version $Id: LifeCycleTest.java,v 1.9 2007/05/23 00:51:40 bstansberry Exp $
    */
   public class LifeCycleTest extends TestCase
   {
  @@ -101,6 +101,77 @@
         assertEquals(0, cache.getNumberOfLocksHeld());
      }
   
  +   public void testDuplicateInvocation() throws Exception
  +   {
  +      CacheImpl cache = createCache(Configuration.CacheMode.LOCAL);
  +      cache.create();
  +      cache.start();
  +      cache.create();
  +      cache.start();
  +
  +      cache.put("/a/b/c", null);
  +      assertTrue(cache.getNumberOfNodes() > 0);
  +      assertEquals(0, cache.getNumberOfLocksHeld());
  +
  +      System.out.println("cache locks before restart:\n" + cache.printLockInfo());
  +      restartCache(cache);
  +      System.out.println("cache locks after restart:\n" + cache.printLockInfo());
  +
  +      assertTrue(cache.getNumberOfNodes() > 0);
  +      assertEquals(0, cache.getNumberOfLocksHeld());
  +      
  +      cache.stop();
  +      cache.destroy();
  +      cache.stop();
  +      cache.destroy();
  +   }
  +   
  +   public void testFailedStart() throws Exception
  +   {
  +      CacheImpl cache = createCache(Configuration.CacheMode.LOCAL);
  +      assertEquals("Correct state", LifecycleState.INSTANTIATED, cache.getLifecycleState());
  +      DisruptLifecycleListener listener = new DisruptLifecycleListener();
  +      cache.addCacheListener(listener);
  +      cache.create();
  +      assertEquals("Correct state", LifecycleState.CREATED, cache.getLifecycleState());
  +      try
  +      {
  +         cache.start();
  +         fail("Listener did not prevent start");         
  +      }
  +      catch (IllegalStateException good) {}
  +      
  +      assertEquals("Correct state", LifecycleState.FAILED, cache.getLifecycleState());
  +      
  +      cache.removeCacheListener(listener);
  +      
  +      cache.start();
  +      
  +      assertEquals("Correct state", LifecycleState.STARTED, cache.getLifecycleState());
  +      
  +      cache.put("/a/b/c", null);
  +      assertTrue(cache.getNumberOfNodes() > 0);
  +      assertEquals(0, cache.getNumberOfLocksHeld());
  +      
  +      cache.addCacheListener(listener);      
  +
  +      try
  +      {
  +         cache.stop();
  +         fail("Listener did not prevent stop");         
  +      }
  +      catch (IllegalStateException good) {}
  +      
  +      assertEquals("Correct state", LifecycleState.FAILED, cache.getLifecycleState());
  +      
  +      cache.removeCacheListener(listener);
  +      
  +      cache.stop();
  +      assertEquals("Correct state", LifecycleState.STOPPED, cache.getLifecycleState());
  +      cache.destroy();
  +      assertEquals("Correct state", LifecycleState.DESTROYED, cache.getLifecycleState());
  +   }
  +
      CacheImpl createCache(Configuration.CacheMode cache_mode) throws Exception
      {
         CacheImpl retval = (CacheImpl) DefaultCacheFactory.getInstance().createCache(false);
  @@ -138,6 +209,23 @@
      }
   
   
  +   class DisruptLifecycleListener extends AbstractCacheListener
  +   {
  +
  +      @Override
  +      public void cacheStarted(CacheSPI cache)
  +      {
  +         throw new IllegalStateException("I don't want to start");
  +      }
  +
  +      @Override
  +      public void cacheStopped(CacheSPI cache)
  +      {
  +         throw new IllegalStateException("I don't want to stop");
  +      }
  +      
  +   }
  +   
      public static Test suite()
      {
         return new TestSuite(LifeCycleTest.class);
  
  
  



More information about the jboss-cvs-commits mailing list