[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