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

Manik Surtani msurtani at jboss.com
Tue Sep 5 07:03:26 EDT 2006


  User: msurtani
  Date: 06/09/05 07:03:26

  Modified:    tests/functional/org/jboss/cache/options 
                        SuppressLockingTest.java
  Log:
  Fixed suppress locking bugs, improved interceptor chain construction, added new interceptor to construct invocation ctx
  
  Revision  Changes    Path
  1.6       +138 -132  JBossCache/tests/functional/org/jboss/cache/options/SuppressLockingTest.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: SuppressLockingTest.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/tests/functional/org/jboss/cache/options/SuppressLockingTest.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -b -r1.5 -r1.6
  --- SuppressLockingTest.java	20 Jul 2006 10:31:55 -0000	1.5
  +++ SuppressLockingTest.java	5 Sep 2006 11:03:26 -0000	1.6
  @@ -7,15 +7,15 @@
   package org.jboss.cache.options;
   
   import junit.framework.TestCase;
  -import org.jboss.cache.TreeCache;
   import org.jboss.cache.DummyTransactionManagerLookup;
   import org.jboss.cache.Fqn;
  -import org.jboss.cache.config.Option;
  +import org.jboss.cache.TreeCacheProxyImpl;
   import org.jboss.cache.config.Configuration;
  +import org.jboss.cache.factories.DefaultCacheFactory;
   
   import javax.transaction.TransactionManager;
  -import java.util.Map;
   import java.util.HashMap;
  +import java.util.Map;
   
   /**
    * Tests the suppression of locking nodes
  @@ -24,148 +24,154 @@
    */
   public class SuppressLockingTest extends TestCase
   {
  -    private Option suppressLocks = new Option();
      private Fqn fqn = Fqn.fromString("/blah");
      private Fqn fqn1 = Fqn.fromString("/blah/1");
   
  +   private TreeCacheProxyImpl cache;
  +
  +   private TransactionManager m;
  +
  +   protected void setUp()
       {
  -        suppressLocks.setSuppressLocking(true);
  +      Configuration config = new Configuration();
  +      config.setCacheMode(Configuration.CacheMode.LOCAL);
  +      config.setTransactionManagerLookupClass(DummyTransactionManagerLookup.class.getName());
  +      cache = (TreeCacheProxyImpl) new DefaultCacheFactory().createCache(config);
  +      m = cache.getTransactionManager();
       }
   
  -   public void testSuppressionOfWriteLocks() throws Exception
  +   protected void tearDown()
      {
  -       TreeCache cache = new TreeCache();
  -       try
  +      if (cache != null)
          {
  -           cache.getConfiguration().setCacheMode(Configuration.CacheMode.LOCAL);
  -           cache.getConfiguration().setTransactionManagerLookupClass(DummyTransactionManagerLookup.class.toString());
  -           cache.startService();
  +         cache.stop();
  +         cache = null;
  +      }
  +      m = null;
  +   }
  +
   
  +   public void testSuppressionOfWriteLocks() throws Exception
  +   {
              TransactionManager m = cache.getTransactionManager();
   
              m.begin();
  +      assertFalse(cache.getInvocationContext().getOptionOverrides().isSuppressLocking());
              cache.put(fqn, "x", "1");
  -           assertEquals(1, cache.getNumberOfLocksHeld());
  +      assertFalse(cache.getInvocationContext().getOptionOverrides().isSuppressLocking());
  +      assertEquals(1, cache.treeCache.getNumberOfLocksHeld());
              m.commit();
  -           assertEquals(0, cache.getNumberOfLocksHeld());
  +      assertEquals(0, cache.treeCache.getNumberOfLocksHeld());
   
              cache.remove(fqn);
   
              m.begin();
  -           cache.put(fqn, "x", "2", suppressLocks);
  -           assertEquals(0, cache.getNumberOfLocksHeld());
  +      cache.getInvocationContext().getOptionOverrides().setSuppressLocking(true);
  +      assertTrue(cache.getInvocationContext().getOptionOverrides().isSuppressLocking());
  +      cache.put(fqn, "x", "2");
  +      assertFalse(cache.getInvocationContext().getOptionOverrides().isSuppressLocking());
  +      assertEquals(0, cache.treeCache.getNumberOfLocksHeld());
              m.commit();
  -           assertEquals(0, cache.getNumberOfLocksHeld());
  +      assertEquals(0, cache.treeCache.getNumberOfLocksHeld());
   
              // test normal operation again
              cache.remove(fqn);
   
              m.begin();
  +      assertFalse(cache.getInvocationContext().getOptionOverrides().isSuppressLocking());
              cache.put(fqn, "x", "3");
  -           assertEquals(1, cache.getNumberOfLocksHeld());
  +      assertFalse(cache.getInvocationContext().getOptionOverrides().isSuppressLocking());
  +      assertEquals(1, cache.treeCache.getNumberOfLocksHeld());
              m.commit();
  -           assertEquals(0, cache.getNumberOfLocksHeld());
  -
  -       }
  -       finally
  -       {
  -           cache.stopService();
  -       }
  +      assertEquals(0, cache.treeCache.getNumberOfLocksHeld());
      }
   
      /**
       * This one fails now.
  +    *
       * @throws Exception
       */
      public void testSuppressionOf2WriteLocks() throws Exception
      {
  -       TreeCache cache = new TreeCache();
  -       try
  -       {
  -           cache.getConfiguration().setCacheMode(Configuration.CacheMode.LOCAL);
  -           cache.getConfiguration().setTransactionManagerLookupClass(DummyTransactionManagerLookup.class.toString());
  -           cache.startService();
  -
              TransactionManager m = cache.getTransactionManager();
   
              m.begin();
              cache.put(fqn, "x", "1");
  -           assertEquals(1, cache.getNumberOfLocksHeld());
  +      assertEquals(1, cache.treeCache.getNumberOfLocksHeld());
              m.commit();
  -           assertEquals(0, cache.getNumberOfLocksHeld());
  +      assertEquals(0, cache.treeCache.getNumberOfLocksHeld());
   
              cache.remove(fqn);
   
             m.begin();
  -         cache.put(fqn, "x", "2", suppressLocks);
  -         cache.put(fqn1, "y", "3", suppressLocks);
  -          assertEquals(0, cache.getNumberOfLocksHeld());
  +      cache.getInvocationContext().getOptionOverrides().setSuppressLocking(true);
  +      cache.put(fqn, "x", "2");
  +      cache.getInvocationContext().getOptionOverrides().setSuppressLocking(true);
  +      cache.put(fqn1, "y", "3");
  +      assertEquals(0, cache.treeCache.getNumberOfLocksHeld());
             m.commit();
  -          assertEquals(0, cache.getNumberOfLocksHeld());
  +      assertEquals(0, cache.treeCache.getNumberOfLocksHeld());
   
             Map map = new HashMap();
             map.put("x", "1");
             m.begin();
  -         cache.put(fqn, map, suppressLocks);
  -         cache.put(fqn1, map, suppressLocks);
  -          assertEquals(0, cache.getNumberOfLocksHeld());
  +      cache.getInvocationContext().getOptionOverrides().setSuppressLocking(true);
  +      cache.put(fqn, map);
  +      cache.getInvocationContext().getOptionOverrides().setSuppressLocking(true);
  +      cache.put(fqn1, map);
  +      assertEquals(0, cache.treeCache.getNumberOfLocksHeld());
             m.commit();
  -          assertEquals(0, cache.getNumberOfLocksHeld());
  +      assertEquals(0, cache.treeCache.getNumberOfLocksHeld());
   
              // test normal operation again
              cache.remove(fqn);
   
              m.begin();
              cache.put(fqn, "x", "3");
  -           assertEquals(1, cache.getNumberOfLocksHeld());
  +      assertEquals(1, cache.treeCache.getNumberOfLocksHeld());
              m.commit();
  -           assertEquals(0, cache.getNumberOfLocksHeld());
  -
  -       }
  -       finally
  -       {
  -           cache.stopService();
  -       }
  +      assertEquals(0, cache.treeCache.getNumberOfLocksHeld());
      }
   
       public void testSuppressionOfReadLocks() throws Exception
       {
  -        TreeCache cache = new TreeCache();
  -        try
  -        {
  -            cache.getConfiguration().setCacheMode(Configuration.CacheMode.LOCAL);
  -            cache.getConfiguration().setTransactionManagerLookupClass(DummyTransactionManagerLookup.class.toString());
  -            cache.startService();
  -
  -            TransactionManager m = cache.getTransactionManager();
  -
               cache.put(fqn, "x", "y");
   
               m.begin();
  +      assertFalse(cache.getInvocationContext().getOptionOverrides().isSuppressLocking());
               cache.get(fqn, "x");
  -            assertEquals(1, cache.getNumberOfLocksHeld());
  +      assertFalse(cache.getInvocationContext().getOptionOverrides().isSuppressLocking());
  +      assertEquals(1, cache.treeCache.getNumberOfLocksHeld());
               m.commit();
  -            assertEquals(0, cache.getNumberOfLocksHeld());
  +      assertEquals(0, cache.treeCache.getNumberOfLocksHeld());
   
               m.begin();
  -            cache.get(fqn, "x", suppressLocks);
  -            assertEquals(0, cache.getNumberOfLocksHeld());
  +      cache.getInvocationContext().getOptionOverrides().setSuppressLocking(true);
  +      assertTrue(cache.getInvocationContext().getOptionOverrides().isSuppressLocking());
  +      cache.get(fqn, "x");
  +      assertFalse(cache.getInvocationContext().getOptionOverrides().isSuppressLocking());
  +      assertEquals(0, cache.treeCache.getNumberOfLocksHeld());
               m.commit();
  -            assertEquals(0, cache.getNumberOfLocksHeld());
  +      assertEquals(0, cache.treeCache.getNumberOfLocksHeld());
   
               // test normal operation again
   
               m.begin();
  +      assertFalse(cache.getInvocationContext().getOptionOverrides().isSuppressLocking());
               cache.get(fqn, "x");
  -            assertEquals(1, cache.getNumberOfLocksHeld());
  +      assertFalse(cache.getInvocationContext().getOptionOverrides().isSuppressLocking());
  +      assertEquals(1, cache.treeCache.getNumberOfLocksHeld());
               m.commit();
  -            assertEquals(0, cache.getNumberOfLocksHeld());
  -
  +      assertEquals(0, cache.treeCache.getNumberOfLocksHeld());
           }
  -        finally
  +
  +   public void testNodeCreation()
           {
  -            cache.stopService();
  -        }
  +      assertNull(cache.getChild(fqn));
  +      cache.getInvocationContext().getOptionOverrides().setSuppressLocking(true);
  +      cache.put(fqn, "x", "y");
  +      assertEquals(0, cache.treeCache.getNumberOfLocksHeld());
  +      assertEquals("y", cache.getChild(fqn).get("x"));
       }
   
   }
  
  
  



More information about the jboss-cvs-commits mailing list