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

Manik Surtani msurtani at jboss.com
Wed Oct 11 06:02:07 EDT 2006


  User: msurtani
  Date: 06/10/11 06:02:07

  Modified:    tests/functional/org/jboss/cache/loader      
                        TcpCacheLoaderTest.java JdbmCacheLoaderTest.java
                        CacheLoaderTestsBase.java
                        LocalDelegatingCacheLoaderTest.java
                        FileCacheLoaderTest.java
  Removed:     tests/functional/org/jboss/cache/loader      
                        ExtendedCacheLoaderTestsBase.java
  Log:
  * Removed ExtendedCacheLoader base test
  * Merged store and load tests into CacheLoaderTestBase
  * Fixed bug in Fqn.getFqnChild(), added better javadocs and unit tests
  
  Revision  Changes    Path
  1.8       +11 -1     JBossCache/tests/functional/org/jboss/cache/loader/TcpCacheLoaderTest.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: TcpCacheLoaderTest.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/tests/functional/org/jboss/cache/loader/TcpCacheLoaderTest.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -b -r1.7 -r1.8
  --- TcpCacheLoaderTest.java	7 Sep 2006 13:52:29 -0000	1.7
  +++ TcpCacheLoaderTest.java	11 Oct 2006 10:02:07 -0000	1.8
  @@ -8,7 +8,7 @@
    * Tests the TcpDelegatingCacheLoader
    *
    * @author Bela Ban
  - * @version $Id: TcpCacheLoaderTest.java,v 1.7 2006/09/07 13:52:29 msurtani Exp $
  + * @version $Id: TcpCacheLoaderTest.java,v 1.8 2006/10/11 10:02:07 msurtani Exp $
    */
   public class TcpCacheLoaderTest extends CacheLoaderTestsBase
   {
  @@ -52,6 +52,16 @@
         runner.start();
      }
   
  +   public void testPartialLoadAndStore()
  +   {
  +      // do nothing
  +   }
  +
  +   public void testBuddyBackupStore()
  +   {
  +      // do nothing
  +   }
  +
   
      protected void configureCache() throws Exception
      {
  
  
  
  1.4       +35 -25    JBossCache/tests/functional/org/jboss/cache/loader/JdbmCacheLoaderTest.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: JdbmCacheLoaderTest.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/tests/functional/org/jboss/cache/loader/JdbmCacheLoaderTest.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -b -r1.3 -r1.4
  --- JdbmCacheLoaderTest.java	20 Jul 2006 08:05:18 -0000	1.3
  +++ JdbmCacheLoaderTest.java	11 Oct 2006 10:02:07 -0000	1.4
  @@ -7,11 +7,13 @@
   import java.io.FileFilter;
   
   /**
  - * Tests {@link JdbmCacheLoader}.
  + * Tests {@link org.jboss.cache.loader.jdbm.JdbmCacheLoader}.
  + *
    * @author Elias Ross
  - * @version $Id: JdbmCacheLoaderTest.java,v 1.3 2006/07/20 08:05:18 msurtani Exp $
  + * @version $Id: JdbmCacheLoaderTest.java,v 1.4 2006/10/11 10:02:07 msurtani Exp $
    */
  -public class JdbmCacheLoaderTest extends ExtendedCacheLoaderTestsBase {
  +public class JdbmCacheLoaderTest extends CacheLoaderTestsBase
  +{
   
       private int counter = 0;
       private String tmp_location = System.getProperty("java.io.tmpdir", "/tmp");
  @@ -22,20 +24,27 @@
           if (!dir.exists()) dir.mkdirs();
       }
   
  -    protected void configureCache() throws Exception {
  +   protected void configureCache() throws Exception
  +   {
   
  -      class MyFilter implements FileFilter {
  -         public boolean accept(File file) {
  +      class MyFilter implements FileFilter
  +      {
  +         public boolean accept(File file)
  +         {
               return file.getName().endsWith(".db");
            }
         }
   
  -      File[] files=dir.listFiles(new MyFilter());
  -      if (files != null) {
  -         for (int i = 0; i < files.length; i += 1) {
  +      File[] files = dir.listFiles(new MyFilter());
  +      if (files != null)
  +      {
  +         for (int i = 0; i < files.length; i += 1)
  +         {
               File file = files[i];
  -            if (file.isFile()) {
  -               if (!file.delete()) {
  +            if (file.isFile())
  +            {
  +               if (!file.delete())
  +               {
                     System.err.println("Unable to delete: " + file);
                  }
               }
  @@ -45,7 +54,8 @@
       cache.getConfiguration().setCacheLoaderConfiguration(getSingleCacheLoaderConfig("", "org.jboss.cache.loader.jdbm.JdbmCacheLoader", "", false, true, false));
      }
   
  -   public static Test suite() {
  +   public static Test suite()
  +   {
         return new TestSuite(JdbmCacheLoaderTest.class);
      }
   
  
  
  
  1.32      +120 -3    JBossCache/tests/functional/org/jboss/cache/loader/CacheLoaderTestsBase.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: CacheLoaderTestsBase.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/tests/functional/org/jboss/cache/loader/CacheLoaderTestsBase.java,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -b -r1.31 -r1.32
  --- CacheLoaderTestsBase.java	22 Sep 2006 16:27:56 -0000	1.31
  +++ CacheLoaderTestsBase.java	11 Oct 2006 10:02:07 -0000	1.32
  @@ -7,6 +7,7 @@
   import org.jboss.cache.Fqn;
   import org.jboss.cache.Modification;
   import org.jboss.cache.TreeCache;
  +import org.jboss.cache.buddyreplication.BuddyManager;
   import org.jboss.cache.config.Configuration;
   import org.jboss.cache.statetransfer.StateTransferManager;
   import org.jboss.cache.transaction.DummyTransactionManager;
  @@ -30,7 +31,7 @@
    * Commons tests for all CacheLoaders
    *
    * @author Bela Ban
  - * @version $Id: CacheLoaderTestsBase.java,v 1.31 2006/09/22 16:27:56 msurtani Exp $
  + * @version $Id: CacheLoaderTestsBase.java,v 1.32 2006/10/11 10:02:07 msurtani Exp $
    */
   abstract public class CacheLoaderTestsBase extends AbstractCacheLoaderTestBase
   {
  @@ -40,6 +41,14 @@
      CacheLoader loader = null;
      Transaction tx = null;
      static final Fqn FQN = new Fqn("key");
  +   static final Fqn SUBTREE_FQN = new Fqn(FQN, "subtree");
  +
  +   static final Fqn BUDDY_BASE = new Fqn(BuddyManager.BUDDY_BACKUP_SUBTREE_FQN, "test");
  +
  +   static final Fqn BUDDY_PLUS_FQN = new Fqn(BUDDY_BASE, FQN);
  +
  +   static final Fqn BUDDY_PLUS_SUBTREE_FQN = new Fqn(BUDDY_BASE, SUBTREE_FQN);
  +
   
      public CacheLoaderTestsBase(String name)
      {
  @@ -143,12 +152,14 @@
         assertEquals(new Integer(20), retval);
      }
   
  -   public void testPut2() throws CacheException
  +   public void testPut2() throws Exception
      {
         final String NODE = "/a/b/c";
  +      assertNull(loader.get(Fqn.fromString(NODE)));
         final String KEY = "key";
         Object retval = null;
         cache.remove(NODE);
  +      assertNull(loader.get(Fqn.fromString(NODE)));
         addDelay();
         retval = cache.put(NODE, KEY, new Integer(10));
         assertNull(retval);
  @@ -1827,4 +1838,110 @@
      }
   
   
  +   /**
  +    * Test load/store state.
  +    */
  +   public void testPartialLoadAndStore()
  +           throws Exception
  +   {
  +
  +      /* Empty state. */
  +      loader.remove(Fqn.fromString("/"));
  +      // assertEquals(0, loader.loadEntireState().length);
  +//      loader.storeEntireState(new byte[0]);
  +//      assertEquals(0, loader.loadEntireState().length);
  +//      loader.storeEntireState(null);
  +//      assertEquals(0, loader.loadEntireState().length);
  +//      assertEquals(null, loader.get(FQN));
  +
  +      /* Use a complex object to ensure that the class catalog is used. */
  +      Complex c1 = new Complex();
  +      Complex c2 = new Complex(c1);
  +      Complex c3 = new Complex();
  +      Complex c4 = new Complex(c3);
  +
  +      /* Add objects. */
  +      loader.put(FQN, new Integer(1), c1);
  +      loader.put(FQN, new Integer(2), c2);
  +      loader.put(SUBTREE_FQN, new Integer(1), c3);
  +      loader.put(SUBTREE_FQN, new Integer(2), c4);
  +      addDelay();
  +      assertEquals(c1, loader.get(FQN).get(new Integer(1)));
  +      assertEquals(c2, loader.get(FQN).get(new Integer(2)));
  +      assertEquals(2, loader.get(FQN).size());
  +      assertEquals(c3, loader.get(SUBTREE_FQN).get(new Integer(1)));
  +      assertEquals(c4, loader.get(SUBTREE_FQN).get(new Integer(2)));
  +      assertEquals(2, loader.get(SUBTREE_FQN).size());
  +
  +      /* Save state. */
  +      ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
  +      MarshalledValueOutputStream os = new MarshalledValueOutputStream(baos);
  +      loader.loadState(SUBTREE_FQN, os);
  +      os.writeObject(StateTransferManager.STREAMING_DELIMETER_NODE);
  +      os.close();
  +      assertTrue(baos.size() > 0);
  +      loader.remove(SUBTREE_FQN);
  +
  +      /* Restore state. */
  +
  +      ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
  +      MarshalledValueInputStream is = new MarshalledValueInputStream(bais);
  +      loader.storeState(SUBTREE_FQN, is);
  +      is.close();
  +      addDelay();
  +      assertEquals(c1, loader.get(FQN).get(new Integer(1)));
  +      assertEquals(c2, loader.get(FQN).get(new Integer(2)));
  +      assertEquals(2, loader.get(FQN).size());
  +      assertEquals(c3, loader.get(SUBTREE_FQN).get(new Integer(1)));
  +      assertEquals(c4, loader.get(SUBTREE_FQN).get(new Integer(2)));
  +      assertEquals(2, loader.get(SUBTREE_FQN).size());
  +   }
  +
  +   public void testBuddyBackupStore() throws Exception
  +   {
  +      /* Empty state. */
  +      loader.remove(Fqn.ROOT);
  +
  +      /* Use a complex object to ensure that the class catalog is used. */
  +      Complex c1 = new Complex();
  +      Complex c2 = new Complex(c1);
  +      Complex c3 = new Complex();
  +      Complex c4 = new Complex(c3);
  +
  +      /* Add objects. */
  +      loader.put(FQN, new Integer(1), c1);
  +      loader.put(FQN, new Integer(2), c2);
  +      loader.put(SUBTREE_FQN, new Integer(1), c3);
  +      loader.put(SUBTREE_FQN, new Integer(2), c4);
  +      addDelay();
  +      assertEquals(c1, loader.get(FQN).get(new Integer(1)));
  +      assertEquals(c2, loader.get(FQN).get(new Integer(2)));
  +      assertEquals(2, loader.get(FQN).size());
  +      assertEquals(c3, loader.get(SUBTREE_FQN).get(new Integer(1)));
  +      assertEquals(c4, loader.get(SUBTREE_FQN).get(new Integer(2)));
  +      assertEquals(2, loader.get(SUBTREE_FQN).size());
  +
  +      /* Save state. */
  +      ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
  +      MarshalledValueOutputStream os = new MarshalledValueOutputStream(baos);
  +      loader.loadState(FQN, os);
  +      os.writeObject(StateTransferManager.STREAMING_DELIMETER_NODE);
  +      os.close();
  +      assertTrue(baos.size() > 0);
  +
  +      /* Restore state. */
  +      ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
  +      MarshalledValueInputStream is = new MarshalledValueInputStream(bais);
  +      loader.storeState(BUDDY_BASE, is);
  +      is.close();
  +      addDelay();
  +      assertEquals(c1, loader.get(BUDDY_PLUS_FQN).get(new Integer(1)));
  +      assertEquals(c2, loader.get(BUDDY_PLUS_FQN).get(new Integer(2)));
  +      assertEquals(2, loader.get(BUDDY_PLUS_FQN).size());
  +      assertEquals(c3, loader.get(BUDDY_PLUS_SUBTREE_FQN).get(new Integer(1)));
  +      assertEquals(c4, loader.get(BUDDY_PLUS_SUBTREE_FQN).get(new Integer(2)));
  +      assertEquals(2, loader.get(BUDDY_PLUS_SUBTREE_FQN).size());
  +
  +   }
  +
   }
  
  
  
  1.12      +10 -0     JBossCache/tests/functional/org/jboss/cache/loader/LocalDelegatingCacheLoaderTest.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: LocalDelegatingCacheLoaderTest.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/tests/functional/org/jboss/cache/loader/LocalDelegatingCacheLoaderTest.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -b -r1.11 -r1.12
  --- LocalDelegatingCacheLoaderTest.java	6 Sep 2006 15:30:58 -0000	1.11
  +++ LocalDelegatingCacheLoaderTest.java	11 Oct 2006 10:02:07 -0000	1.12
  @@ -37,6 +37,16 @@
         delegating_cache.destroy();
      }
   
  +   public void testPartialLoadAndStore()
  +   {
  +      // do nothing
  +   }
  +
  +   public void testBuddyBackupStore()
  +   {
  +      // do nothing
  +   }
  +
   
      public static Test suite()
      {
  
  
  
  1.9       +8 -4      JBossCache/tests/functional/org/jboss/cache/loader/FileCacheLoaderTest.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: FileCacheLoaderTest.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/tests/functional/org/jboss/cache/loader/FileCacheLoaderTest.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -b -r1.8 -r1.9
  --- FileCacheLoaderTest.java	20 Jul 2006 10:31:30 -0000	1.8
  +++ FileCacheLoaderTest.java	11 Oct 2006 10:02:07 -0000	1.9
  @@ -9,18 +9,22 @@
    * Date: Jun 9, 2004
    * Time: 9:05:19 AM
    */
  -public class FileCacheLoaderTest extends ExtendedCacheLoaderTestsBase {
  +public class FileCacheLoaderTest extends CacheLoaderTestsBase
  +{
   
  -   protected void configureCache() throws Exception {
  +   protected void configureCache() throws Exception
  +   {
         cache.getConfiguration().setCacheLoaderConfiguration(getSingleCacheLoaderConfig("", "org.jboss.cache.loader.FileCacheLoader", "", false, true, false));
      }
   
  -   public static Test suite() {
  +   public static Test suite()
  +   {
         return new TestSuite(FileCacheLoaderTest.class);
      }
   
   
  -   public static void main(String[] args) {
  +   public static void main(String[] args)
  +   {
         junit.textui.TestRunner.run(suite());
      }
   
  
  
  



More information about the jboss-cvs-commits mailing list