JBoss Cache SVN: r4567 - core/trunk/src/test/java/org/jboss/cache/loader.
by jbosscache-commits@lists.jboss.org
Author: manik.surtani(a)jboss.com
Date: 2007-10-08 11:58:57 -0400 (Mon, 08 Oct 2007)
New Revision: 4567
Modified:
core/trunk/src/test/java/org/jboss/cache/loader/BdbjeTest.java
Log:
Removed unused test
Modified: core/trunk/src/test/java/org/jboss/cache/loader/BdbjeTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/BdbjeTest.java 2007-10-08 15:48:51 UTC (rev 4566)
+++ core/trunk/src/test/java/org/jboss/cache/loader/BdbjeTest.java 2007-10-08 15:58:57 UTC (rev 4567)
@@ -780,316 +780,6 @@
}
/**
- * Test exception cases and create/destroy/create/destroy sequence.
- */
- @Test(groups = {"functional"}, enabled = false)
- public void testBasicExceptions() throws Exception
- {
- instantiateLoader();
- checkPreCreateExceptions();
-
- startLoader(false, null);
- checkPostCreateExceptions();
- loader.put(FQN, "one", "two");
- assertEquals("two", loader.get(FQN).get("one"));
-
- stopLoader();
- checkPreCreateExceptions();
-
- startLoader(false, null);
- checkPostCreateExceptions();
- loader.put(FQN, "one", "two");
- assertEquals("two", loader.get(FQN).get("one"));
-
- stopLoader();
- checkPreCreateExceptions();
- }
-
- /**
- * Check exception cases that occur before create().
- */
- private void checkPreCreateExceptions() throws Exception
- {
-
- loader.setCache((CacheSPI<Object, Object>) DefaultCacheFactory.getInstance().createCache(false));
- loader.setConfig(null);
- try
- {
- loader.start();
- // fail();
- }
- catch (IllegalStateException expected)
- {
- }
-
- // loader.setCache(null);
- BdbjeCacheLoaderConfig config = new BdbjeCacheLoaderConfig();
- config.setLocation("xyz");
- loader.setConfig(config);
- try
- {
- loader.start();
- fail();
- }
- catch (IllegalStateException expected)
- {
- }
-
- loader.setCache((CacheSPI<Object, Object>) DefaultCacheFactory.getInstance().createCache(false));
- config = new BdbjeCacheLoaderConfig();
- config.setLocation("directory_that_does_not_exist");
- loader.setConfig(config);
- try
- {
- loader.start();
- fail();
- }
- catch (DatabaseException expected)
- {
- }
-
- try
- {
- loader.put(FQN, "one", "two");
- fail();
- }
- catch (IllegalStateException expected)
- {
- }
-
- try
- {
- loader.put(FQN, new HashMap<Object, Object>());
- fail();
- }
- catch (IllegalStateException expected)
- {
- }
-
- try
- {
- loader.put(new ArrayList<Modification>());
- fail();
- }
- catch (IllegalStateException expected)
- {
- }
-
- try
- {
- loader.get(FQN).get("one");
- fail();
- }
- catch (IllegalStateException expected)
- {
- }
-
- try
- {
- loader.get(FQN);
- fail();
- }
- catch (IllegalStateException expected)
- {
- }
-
- try
- {
- loader.remove(FQN);
- fail();
- }
- catch (IllegalStateException expected)
- {
- }
-
- try
- {
- loader.remove(FQN, "one");
- fail();
- }
- catch (IllegalStateException expected)
- {
- }
-
- try
- {
- loader.prepare(new Object(), new ArrayList<Modification>(), false);
- fail();
- }
- catch (IllegalStateException expected)
- {
- }
-
- try
- {
- loader.commit(new Object());
- fail();
- }
- catch (IllegalStateException expected)
- {
- }
-
- try
- {
- loader.rollback(new Object());
- fail();
- }
- catch (IllegalStateException expected)
- {
- }
-
- try
- {
- ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
- MarshalledValueOutputStream os = new MarshalledValueOutputStream(baos);
- loader.loadEntireState(os);
- fail();
- }
- catch (IllegalStateException expected)
- {
- }
-
- try
- {
- ByteArrayInputStream baos = new ByteArrayInputStream(new byte[0]);
- MarshalledValueInputStream is = new MarshalledValueInputStream(baos);
- loader.storeEntireState(is);
- fail();
- }
- catch (IllegalStateException expected)
- {
- }
-
- /* Redundant stop and destroy are allowed. */
- loader.stop();
- loader.destroy();
- }
-
- /**
- * Check exception cases that occur after create().
- */
- private void checkPostCreateExceptions()
- throws Exception
- {
-
- try
- {
- loader.create();
- fail();
- }
- catch (IllegalStateException expected)
- {
- }
-
- try
- {
- loader.start();
- fail();
- }
- catch (IllegalStateException expected)
- {
- }
-
- try
- {
- loader.put(null, "one", "two");
- fail();
- }
- catch (NullPointerException expected)
- {
- }
-
- try
- {
- loader.put(null, new HashMap<Object, Object>());
- fail();
- }
- catch (NullPointerException expected)
- {
- }
-
- try
- {
- loader.put(null);
- fail();
- }
- catch (NullPointerException expected)
- {
- }
-
- try
- {
- loader.get(null).get("one");
- fail();
- }
- catch (NullPointerException expected)
- {
- }
-
- try
- {
- loader.get(null);
- fail();
- }
- catch (NullPointerException expected)
- {
- }
-
- try
- {
- loader.remove(null);
- fail();
- }
- catch (NullPointerException expected)
- {
- }
-
- try
- {
- loader.remove(null, "one");
- fail();
- }
- catch (NullPointerException expected)
- {
- }
-
- try
- {
- loader.prepare(null, new ArrayList<Modification>(), false);
- fail();
- }
- catch (NullPointerException expected)
- {
- }
- try
- {
- loader.prepare(new Object(), null, false);
- fail();
- }
- catch (NullPointerException expected)
- {
- }
-
- try
- {
- loader.commit(null);
- fail();
- }
- catch (NullPointerException expected)
- {
- }
-
- try
- {
- loader.rollback(null);
- fail();
- }
- catch (NullPointerException expected)
- {
- }
- }
-
- /**
* Tests a non-transactional prepare.
*/
public void testTransactionExceptions()
16 years, 6 months
JBoss Cache SVN: r4566 - core/trunk/src/test/java/org/jboss/cache/transaction.
by jbosscache-commits@lists.jboss.org
Author: manik.surtani(a)jboss.com
Date: 2007-10-08 11:48:51 -0400 (Mon, 08 Oct 2007)
New Revision: 4566
Removed:
core/trunk/src/test/java/org/jboss/cache/transaction/AsyncRollbackTxLockTest.java
Modified:
core/trunk/src/test/java/org/jboss/cache/transaction/SimultaneousRollbackAndPutTest.java
Log:
Commented on why tests are disabled - linked to JIRA tasks.
Deleted: core/trunk/src/test/java/org/jboss/cache/transaction/AsyncRollbackTxLockTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/transaction/AsyncRollbackTxLockTest.java 2007-10-08 15:43:54 UTC (rev 4565)
+++ core/trunk/src/test/java/org/jboss/cache/transaction/AsyncRollbackTxLockTest.java 2007-10-08 15:48:51 UTC (rev 4566)
@@ -1,98 +0,0 @@
-package org.jboss.cache.transaction;
-
-import junit.framework.TestCase;
-
-
-import javax.transaction.Synchronization;
-import javax.transaction.SystemException;
-import javax.transaction.Transaction;
-import javax.transaction.TransactionManager;
-
-import org.jboss.cache.Cache;
-import org.jboss.cache.DefaultCacheFactory;
-import org.jboss.cache.CacheImpl;
-import org.jboss.cache.Fqn;
-import org.testng.annotations.Test;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeMethod;
-
-/**
- * Test behaviour of async rollback timeouted transaction
- *
- * @author <a href="mailto:jhalat@infovide.pl">Jacek Halat</a>
- */
-@Test(groups = {"functional"})
-public class AsyncRollbackTxLockTest
-{
- private Cache cache;
- private TransactionManager tm;
-
-
- @BeforeMethod(alwaysRun = true)
- public void setUp() throws Exception
- {
- cache = DefaultCacheFactory.getInstance().createCache(false);
-
- cache.getConfiguration().setTransactionManagerLookupClass(AsyncRollbackTransactionManagerLookup.class.getName());
- cache.start();
- tm = cache.getConfiguration().getRuntimeConfig().getTransactionManager();
- tm.setTransactionTimeout(2);
- }
-
- @AfterMethod(alwaysRun = true)
- public void tearDown()
- {
- try
- {
- if (tm != null && tm.getTransaction() != null)
- {
- try
- {
- tm.rollback();
- }
- catch (SystemException e)
- {
- // do nothing
- }
- }
- }
- catch (SystemException e)
- {
- // do nothing
- }
- if (cache != null) cache.stop();
- cache = null;
- tm = null;
- }
-
-
- public void testTxTimeoutAndRemovePutAfter() throws Exception
- {
- Thread.currentThread().setName("Thread-0");
- System.out.println("Main Thread:"+Thread.currentThread());
- assert 0 == ((CacheImpl) cache).getNumberOfLocksHeld();
- tm.setTransactionTimeout(1);//short transaction timeout
- cache.put(Fqn.fromString("/a/b/c/d"), "k", "v");
- tm.begin();
- Transaction transaction = tm.getTransaction();
- transaction.registerSynchronization(new Synchronization(){
-
- public void afterCompletion(int arg0) {
- System.out.println("Synchronization Thread:"+Thread.currentThread());
- }
-
- public void beforeCompletion() {
- }
-
- });
- assert tm.getTransaction() != null;
- Thread.sleep(500);//transaction should be rolledback in another thread
- cache.put(Fqn.fromString("/a"), "k", "v");
- tm.rollback();
- assert tm.getTransaction() == null;
- assert 0 == ((CacheImpl) cache).getNumberOfLocksHeld();
- cache.put(Fqn.fromString("/a"), "k", "v");
- }
-
-}
-
Modified: core/trunk/src/test/java/org/jboss/cache/transaction/SimultaneousRollbackAndPutTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/transaction/SimultaneousRollbackAndPutTest.java 2007-10-08 15:43:54 UTC (rev 4565)
+++ core/trunk/src/test/java/org/jboss/cache/transaction/SimultaneousRollbackAndPutTest.java 2007-10-08 15:48:51 UTC (rev 4566)
@@ -20,7 +20,7 @@
*
* @author <a href="mailto:manik@jboss.org">Manik Surtani</a>
*/
-@Test(groups = {"functional", "transaction"}, enabled = false)
+@Test(groups = {"functional", "transaction"}, enabled = false) // Known issue - disabled because of JBCACHE-923
public class SimultaneousRollbackAndPutTest
{
private Cache cache;
16 years, 6 months
JBoss Cache SVN: r4565 - core/trunk/src/test/java/org/jboss/cache/lock/pessimistic.
by jbosscache-commits@lists.jboss.org
Author: manik.surtani(a)jboss.com
Date: 2007-10-08 11:43:54 -0400 (Mon, 08 Oct 2007)
New Revision: 4565
Removed:
core/trunk/src/test/java/org/jboss/cache/lock/pessimistic/LockNotReleasedTest.java
Modified:
core/trunk/src/test/java/org/jboss/cache/lock/pessimistic/ConcurrentPutRemoveTest.java
core/trunk/src/test/java/org/jboss/cache/lock/pessimistic/LockUpgradeTest.java
Log:
Commented on why tests are disabled - linked to JIRA tasks.
Modified: core/trunk/src/test/java/org/jboss/cache/lock/pessimistic/ConcurrentPutRemoveTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/lock/pessimistic/ConcurrentPutRemoveTest.java 2007-10-08 14:56:22 UTC (rev 4564)
+++ core/trunk/src/test/java/org/jboss/cache/lock/pessimistic/ConcurrentPutRemoveTest.java 2007-10-08 15:43:54 UTC (rev 4565)
@@ -15,7 +15,7 @@
import javax.transaction.TransactionManager;
-@Test(groups = {"functional"}, enabled = false)
+@Test(groups = {"functional"}, enabled = false) // Known issue - See JBCACHE-1164 and JBCACHE-1165
public class ConcurrentPutRemoveTest
{
private TransactionManager tm;
Deleted: core/trunk/src/test/java/org/jboss/cache/lock/pessimistic/LockNotReleasedTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/lock/pessimistic/LockNotReleasedTest.java 2007-10-08 14:56:22 UTC (rev 4564)
+++ core/trunk/src/test/java/org/jboss/cache/lock/pessimistic/LockNotReleasedTest.java 2007-10-08 15:43:54 UTC (rev 4565)
@@ -1,161 +0,0 @@
-package org.jboss.cache.lock.pessimistic;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
-
-import javax.transaction.TransactionManager;
-
-
-import org.jboss.cache.CacheException;
-import org.jboss.cache.Node;
-import org.jboss.cache.Cache;
-import org.jboss.cache.DefaultCacheFactory;
-import org.jboss.cache.Fqn;
-import org.jboss.cache.UnversionedNode;
-import org.jboss.cache.CacheImpl;
-import org.jboss.cache.config.ConfigurationComponent;
-import org.jboss.cache.config.Configuration;
-import org.jboss.cache.transaction.DummyTransactionManagerLookup;
-import org.jboss.cache.lock.IsolationLevel;
-import org.testng.annotations.Test;
-import org.testng.annotations.AfterMethod;
-
-@Test(groups = {"functional"})
-public class LockNotReleasedTest
-{
- Random rand = new Random(System.currentTimeMillis());
-
- private TransactionManager tm;
-
- private Cache cache;
-
- private void startTest() throws Exception {
- cache = DefaultCacheFactory.getInstance().createCache(false);
- cache.getConfiguration().setCacheMode(Configuration.CacheMode.LOCAL);
- cache.getConfiguration().setIsolationLevel(IsolationLevel.READ_COMMITTED);
- cache.getConfiguration().setTransactionManagerLookupClass(DummyTransactionManagerLookup.class.getName());
- cache.getConfiguration().setLockAcquisitionTimeout(1000);
- cache.create();
- cache.start();
- tm = cache.getConfiguration().getRuntimeConfig().getTransactionManager();
- }
-
- @AfterMethod(alwaysRun = true)
- public void tearDown() throws Exception {
- cache.stop();
- cache.destroy();
- }
-
-
- public int getNumberOfLocksHeld()
- {
- return numLocks(cache.getRoot());
- }
-
- private int numLocks(Node node)
- {
- UnversionedNode n = (UnversionedNode) node;
- int num = 0;
- Map children;
-
- if (n.getLock().isLocked()){
- num++;
- System.out.println("Node ["+n.getFqn()+"] is locked");
- }
- if ((children = n.getChildrenMapDirect()) != null)
- {
- for (Object o : children.values())
- {
- num += numLocks((Node) o);
- }
- }
- return num;
- }
-
- public void testTransactionStorm() throws Exception {
- startTest();
- List<WorkThread> threads = new ArrayList<WorkThread>();
-// System.out.println(cache.getNumberOfLocksHeld());
- assert 0 == getNumberOfLocksHeld();
- while (true) {
- for (int x = 0; x < 2; x++) {
- WorkThread t = new WorkThread(x == 1);
- threads.add(t);
- t.start();
- }
- for (WorkThread separateThread : threads) {
- separateThread.join();
- if (separateThread.getException() != null) {
- //separateThread.getException().getMessage();
- }
- }
- int locksNum = getNumberOfLocksHeld();
-// System.out.println("Locks="+locksNum);
- // checkpoint
- if (((CacheImpl) cache).getNumberOfLocksHeld()>0){
- System.out.println("ERROR, locks="+locksNum);
- doDomethingOnCache(1);
- }
- assert 0 == locksNum;
- }
-
- }
-
- private class WorkThread extends Thread {
- Exception e = null;
-
- private boolean remove;
-
- public WorkThread(boolean remove) {
- this.remove = remove;
- }
-
- public Exception getException() {
- return e;
- }
-
- public void run() {
- try {
- for (int x = 0; x < 100; x++) {
- tm.begin();
- try {
- doDomethingOnCache(x);
- } finally {
- if (x % 3 == 0) {
- tm.commit();
- } else {
- tm.rollback();
- }
- }
- }
- } catch (Exception e) {
-// System.out.println(e.getMessage());
- this.e = e;
- }
- }
-
- }
-
- private void doDomethingOnCache(int x) throws CacheException, InterruptedException {
- cache.put(Fqn.fromString("/a/b/c/a"), "text1" + x, "");
- cache.removeNode(Fqn.fromString("/q/b/c/d"));
- cache.put(Fqn.fromString("/a/b/c/b"), "text2" + x, "");
- cache.removeNode(Fqn.fromString("/q/b/c/c"));
- cache.put(Fqn.fromString("/a/b/c/c"), "text3" + x, "");
- cache.removeNode(Fqn.fromString("/q/b/c/b"));
- cache.put(Fqn.fromString("/a/b/c/d"), "text4" + x, "");
- cache.removeNode(Fqn.fromString("/q/b/c/a"));
- cache.put(Fqn.fromString("/q/b/c/a"), "text5" + x, "");
- cache.removeNode(Fqn.fromString("/a/b/c/d"));
- cache.put(Fqn.fromString("/q/b/c/b"), "text6" + x, "");
- cache.removeNode(Fqn.fromString("/a/b/c/c"));
- cache.put(Fqn.fromString("/q/b/c/c"), "text7" + x, "");
- cache.removeNode(Fqn.fromString("/a/b/c/b"));
- cache.put(Fqn.fromString("/q/b/c/d"), "text8" + x, "");
- cache.removeNode(Fqn.fromString("/a/b/c/a"));
- }
-
-}
Modified: core/trunk/src/test/java/org/jboss/cache/lock/pessimistic/LockUpgradeTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/lock/pessimistic/LockUpgradeTest.java 2007-10-08 14:56:22 UTC (rev 4564)
+++ core/trunk/src/test/java/org/jboss/cache/lock/pessimistic/LockUpgradeTest.java 2007-10-08 15:43:54 UTC (rev 4565)
@@ -23,7 +23,7 @@
*
* @author jhalat
*/
-@Test(groups = {"functional"}, enabled = false)
+@Test(groups = {"functional"}, enabled = false) // Known failure - see JBCACHE-1166
public class LockUpgradeTest{
private TransactionManager tm;
16 years, 6 months
JBoss Cache SVN: r4564 - core/trunk/src/test/java/org/jboss/cache/loader.
by jbosscache-commits@lists.jboss.org
Author: manik.surtani(a)jboss.com
Date: 2007-10-08 10:56:22 -0400 (Mon, 08 Oct 2007)
New Revision: 4564
Modified:
core/trunk/src/test/java/org/jboss/cache/loader/TxCacheLoaderTest.java
Log:
Patched to use the DIMCL
Modified: core/trunk/src/test/java/org/jboss/cache/loader/TxCacheLoaderTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/TxCacheLoaderTest.java 2007-10-08 14:47:53 UTC (rev 4563)
+++ core/trunk/src/test/java/org/jboss/cache/loader/TxCacheLoaderTest.java 2007-10-08 14:56:22 UTC (rev 4564)
@@ -39,24 +39,19 @@
public void setUp() throws Exception
{
- String tmpLoc = System.getProperty("java.io.tmpdir", "/tmp");
- String location = tmpLoc + File.separator + "TxCacheLoaderTest1";
-
cache1 = (CacheImpl<Object, Object>) DefaultCacheFactory.getInstance().createCache(false);
cache1.getConfiguration().setCacheMode("repl_sync");
cache1.getConfiguration().setTransactionManagerLookupClass(TransactionSetup.getManagerLookup());
- cache1.getConfiguration().setCacheLoaderConfig(getSingleCacheLoaderConfig("", "org.jboss.cache.loader.FileCacheLoader", "location=" + location, false, false, false));
+ cache1.getConfiguration().setCacheLoaderConfig(getSingleCacheLoaderConfig("", DummyInMemoryCacheLoader.class.getName(), "", false, false, false));
// cache1.setReplQueueInterval(3000);
cache1.create();
cache1.start();
- location = tmpLoc + File.separator + "TxCacheLoaderTest2";
-
cache2 = (CacheImpl<Object, Object>) DefaultCacheFactory.getInstance().createCache(false);
cache2.getConfiguration().setCacheMode("repl_sync");
cache2.getConfiguration().setTransactionManagerLookupClass(TransactionSetup.getManagerLookup());
- cache2.getConfiguration().setCacheLoaderConfig(getSingleCacheLoaderConfig("", "org.jboss.cache.loader.FileCacheLoader", "location=" + location, false, false, false));
+ cache2.getConfiguration().setCacheLoaderConfig(getSingleCacheLoaderConfig("", DummyInMemoryCacheLoader.class.getName(), "", false, false, false));
cache2.getConfiguration().setLockAcquisitionTimeout(2000);
// cache2.setReplQueueInterval(3000);
cache2.create();
16 years, 6 months
JBoss Cache SVN: r4563 - core/trunk/src/test/java/org/jboss/cache/loader.
by jbosscache-commits@lists.jboss.org
Author: manik.surtani(a)jboss.com
Date: 2007-10-08 10:47:53 -0400 (Mon, 08 Oct 2007)
New Revision: 4563
Modified:
core/trunk/src/test/java/org/jboss/cache/loader/CacheLoaderPurgingTest.java
core/trunk/src/test/java/org/jboss/cache/loader/DummyInMemoryCacheLoader.java
core/trunk/src/test/java/org/jboss/cache/loader/DummySharedInMemoryCacheLoader.java
Log:
Patched DSIMCL to deal with multiple "bins", and patched CLPT to use the DSIMCL instead of FCLs - more accurate on Hudson servers and less chance of leaving stale files behind.
Modified: core/trunk/src/test/java/org/jboss/cache/loader/CacheLoaderPurgingTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/CacheLoaderPurgingTest.java 2007-10-08 14:16:26 UTC (rev 4562)
+++ core/trunk/src/test/java/org/jboss/cache/loader/CacheLoaderPurgingTest.java 2007-10-08 14:47:53 UTC (rev 4563)
@@ -6,11 +6,6 @@
*/
package org.jboss.cache.loader;
-import static org.testng.AssertJUnit.assertEquals;
-import static org.testng.AssertJUnit.assertNotNull;
-import static org.testng.AssertJUnit.assertNull;
-import static org.testng.AssertJUnit.assertTrue;
-
import org.jboss.cache.CacheException;
import org.jboss.cache.CacheImpl;
import org.jboss.cache.DefaultCacheFactory;
@@ -18,11 +13,14 @@
import org.jboss.cache.config.Configuration;
import org.jboss.cache.factories.XmlConfigurationParser;
import org.jboss.cache.xml.XmlHelper;
+import static org.testng.AssertJUnit.*;
import org.testng.annotations.AfterMethod;
+import org.testng.annotations.Test;
import org.w3c.dom.Element;
/**
* @author <a href="mailto:manik@jboss.org">Manik Surtani (manik(a)jboss.org)</a>
*/
+@Test(groups = {"functional"})
public class CacheLoaderPurgingTest extends AbstractCacheLoaderTestBase
{
private CacheImpl<Object, Object> cache;
@@ -45,7 +43,7 @@
cache = (CacheImpl<Object, Object>) DefaultCacheFactory.getInstance().createCache(false);
Configuration c = new Configuration();
cache.setConfiguration(c);
- c.setCacheLoaderConfig(getSingleCacheLoaderConfig("", "org.jboss.cache.loader.FileCacheLoader", "location=" + System.getProperty("java.io.tmpdir", "/tmp") + "/" + "CacheLoaderPurgingTest", false, false, false));
+ c.setCacheLoaderConfig(getSingleCacheLoaderConfig("", DummySharedInMemoryCacheLoader.class.getName(), "", false, false, false));
cache.start();
cache.put(fqn, key, value);
@@ -69,7 +67,7 @@
cache = (CacheImpl<Object, Object>) DefaultCacheFactory.getInstance().createCache(false);
Configuration c = new Configuration();
cache.setConfiguration(c);
- c.setCacheLoaderConfig(getSingleCacheLoaderConfig("", "org.jboss.cache.loader.FileCacheLoader", "location=" + System.getProperty("java.io.tmpdir", "/tmp") + "/" + "CacheLoaderPurgingTest", false, false, false, true));
+ c.setCacheLoaderConfig(getSingleCacheLoaderConfig("", DummySharedInMemoryCacheLoader.class.getName(), "", false, false, false, true));
cache.start();
cache.put(fqn, key, value);
@@ -99,18 +97,18 @@
"<passivation>false</passivation>\n" +
"<preload></preload>\n" +
"<cacheloader>\n" +
- "<class>org.jboss.cache.loader.FileCacheLoader</class>\n" +
+ "<class>" + DummySharedInMemoryCacheLoader.class.getName() + "</class>\n" +
"<properties>" +
- " location=" + System.getProperty("java.io.tmpdir", "/tmp") + "/" + "CacheLoaderPurgingTest_1" + "\n" +
+ " bin=bin1\n" +
"</properties>\n" +
"<async>false</async>\n" +
"<fetchPersistentState>true</fetchPersistentState>\n" +
"<purgeOnStartup>" + true + "</purgeOnStartup>\n" +
"</cacheloader>\n" +
"<cacheloader>\n" +
- "<class>org.jboss.cache.loader.FileCacheLoader</class>\n" +
+ "<class>" + DummySharedInMemoryCacheLoader.class.getName() + "</class>\n" +
"<properties>" +
- " location=" + System.getProperty("java.io.tmpdir", "/tmp") + "/" + "CacheLoaderPurgingTest_2" + "\n" +
+ " bin=bin2\n" +
"</properties>\n" +
"<async>false</async>\n" +
"<fetchPersistentState>false</fetchPersistentState>\n" +
Modified: core/trunk/src/test/java/org/jboss/cache/loader/DummyInMemoryCacheLoader.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/DummyInMemoryCacheLoader.java 2007-10-08 14:16:26 UTC (rev 4562)
+++ core/trunk/src/test/java/org/jboss/cache/loader/DummyInMemoryCacheLoader.java 2007-10-08 14:47:53 UTC (rev 4563)
@@ -29,6 +29,7 @@
@ThreadSafe
public class DummyInMemoryCacheLoader extends AbstractCacheLoader
{
+ // Do NOT access this map directly. always use getNodesMap() since it may be overridden.
protected Map<Fqn, DummyNode> nodes = new ConcurrentHashMap<Fqn, DummyNode>();
protected Log log = LogFactory.getLog(DummyInMemoryCacheLoader.class);
protected Map<Object, List<Modification>> transactions = new ConcurrentHashMap<Object, List<Modification>>();
@@ -57,9 +58,9 @@
public Set<?> getChildrenNames(Fqn fqn) throws Exception
{
- if (log.isDebugEnabled()) log.debug("Calling getChildrenNames on Fqn " + fqn + ". Data map = " + nodes);
- debugMessage("Calling getChildrenNames on Fqn " + fqn + ". Data map = " + nodes);
- if (!nodes.containsKey(fqn))
+ if (log.isDebugEnabled()) log.debug("Calling getChildrenNames on Fqn " + fqn + ". Data map = " + getNodesMap());
+ debugMessage("Calling getChildrenNames on Fqn " + fqn + ". Data map = " + getNodesMap());
+ if (!getNodesMap().containsKey(fqn))
{
log.debug("node not in loader");
debugMessage("node not in loader");
@@ -77,7 +78,7 @@
private Set findChildren(Fqn p)
{
Set c = new HashSet();
- for (Fqn f : nodes.keySet())
+ for (Fqn f : getNodesMap().keySet())
{
if (!f.isRoot() && f.getParent().equals(p))
{
@@ -89,7 +90,7 @@
public Map<Object, Object> get(Fqn name) throws Exception
{
- DummyNode dn = nodes.get(name);
+ DummyNode dn = getNodesMap().get(name);
Map<Object, Object> d = dn != null ? dn.data : null;
if (log.isDebugEnabled()) log.debug("Getting data for fqn " + name + " = " + d);
@@ -151,12 +152,12 @@
public boolean exists(Fqn name) throws Exception
{
debugMessage("Performing exists() on " + name);
- return nodes.containsKey(name);
+ return getNodesMap().containsKey(name);
}
public Object put(Fqn name, Object key, Object value) throws Exception
{
- DummyNode n = nodes.get(name);
+ DummyNode n = getNodesMap().get(name);
if (n == null)
{
n = new DummyNode(name);
@@ -165,7 +166,7 @@
Object v = value == null ? NULL : value;
Object old = n.data.put(k, v);
- nodes.put(name, n);
+ getNodesMap().put(name, n);
// we need to make sure parents get put in as well.
recursivelyPutParentsIfNeeded(name);
if (log.isDebugEnabled()) log.debug("Did a put on " + name + ", data is " + n.data);
@@ -175,13 +176,13 @@
public void put(Fqn name, Map<Object, Object> attributes) throws Exception
{
- DummyNode n = nodes.get(name);
+ DummyNode n = getNodesMap().get(name);
if (n == null)
{
n = new DummyNode(name);
}
if (attributes != null) n.data.putAll(injectNULLs(attributes));
- nodes.put(name, n);
+ getNodesMap().put(name, n);
// we need to make sure parents get put in as well.
recursivelyPutParentsIfNeeded(name);
if (log.isDebugEnabled()) log.debug("Did a put on " + name + ", data is " + n.data);
@@ -191,10 +192,10 @@
private void recursivelyPutParentsIfNeeded(Fqn node)
{
Fqn parent = node.getParent();
- if (nodes.containsKey(parent)) return; // nothing to do.
+ if (getNodesMap().containsKey(parent)) return; // nothing to do.
// else put the parent in.
- nodes.put(parent, new DummyNode(parent));
+ getNodesMap().put(parent, new DummyNode(parent));
recursivelyPutParentsIfNeeded(parent);
}
@@ -202,10 +203,10 @@
{
log.debug("Removing data from " + fqn);
debugMessage("Removing data from " + fqn);
- DummyNode n = nodes.get(fqn);
+ DummyNode n = getNodesMap().get(fqn);
if (n == null) n = new DummyNode(fqn);
Object old = n.data.remove(key == null ? NULL : key);
- nodes.put(fqn, n);
+ getNodesMap().put(fqn, n);
return old == NULL ? null : old;
}
@@ -213,19 +214,19 @@
{
log.debug("Removing fqn " + fqn);
debugMessage("Removing fqn " + fqn);
- nodes.remove(fqn);
+ getNodesMap().remove(fqn);
// remove children.
recursivelyRemoveChildren(fqn);
}
private void recursivelyRemoveChildren(Fqn removedParent)
{
- for (Fqn f : nodes.keySet())
+ for (Fqn f : getNodesMap().keySet())
{
if (f.getParent().equals(removedParent))
{
// remove the child node too
- nodes.remove(f);
+ getNodesMap().remove(f);
// and it's children. Depth first.
recursivelyRemoveChildren(f);
}
@@ -236,10 +237,10 @@
{
log.debug("Removing data from " + fqn);
debugMessage("Removing data from " + fqn);
- DummyNode n = nodes.get(fqn);
+ DummyNode n = getNodesMap().get(fqn);
if (n == null) n = new DummyNode(fqn);
n.data.clear();
- nodes.put(fqn, n);
+ getNodesMap().put(fqn, n);
}
public class DummyNode
@@ -265,7 +266,7 @@
public String toString()
{
return "DummyInMemoryCacheLoader{" +
- "nodes=" + nodes +
+ "getNodesMap()=" + getNodesMap() +
'}';
}
@@ -273,4 +274,12 @@
{
if (debug) System.out.println(" DummyInMemoryCacheLoader debug: " + msg);
}
+
+ /**
+ * ALWAYS use this method instead of accessing the node map directly as it may be overridden.
+ */
+ protected Map<Fqn, DummyNode> getNodesMap()
+ {
+ return nodes;
+ }
}
Modified: core/trunk/src/test/java/org/jboss/cache/loader/DummySharedInMemoryCacheLoader.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/DummySharedInMemoryCacheLoader.java 2007-10-08 14:16:26 UTC (rev 4562)
+++ core/trunk/src/test/java/org/jboss/cache/loader/DummySharedInMemoryCacheLoader.java 2007-10-08 14:47:53 UTC (rev 4563)
@@ -1,23 +1,44 @@
package org.jboss.cache.loader;
+import org.jboss.cache.Fqn;
+import org.jboss.cache.config.CacheLoaderConfig;
+
import java.util.Map;
+import java.util.Properties;
import java.util.concurrent.ConcurrentHashMap;
-import org.jboss.cache.Fqn;
-
/**
* An extension of the {@link org.jboss.cache.loader.DummyInMemoryCacheLoader} that uses static maps for data, children,
* etc. so it can be shared across instances, emulating a shared database or filesystem cache loader.
*
+ * Since 2.1.0, this dummy cache loader will take an optional parameter, "bin", which contains the name of the "bin" to use
+ * in the static field to store the content. This allows for tests to mimic multiple shared cache loaders in the same cache.
+ *
* @author <a href="mailto:manik@jboss.org">Manik Surtani</a>
* @since 2.0.0
*/
public class DummySharedInMemoryCacheLoader extends DummyInMemoryCacheLoader
{
- protected static final Map<Fqn, DummyNode> SHARED_NODES_MAP = new ConcurrentHashMap<Fqn, DummyNode>();
+ protected static final Map<String, Map<Fqn, DummyNode>> BINS = new ConcurrentHashMap<String, Map<Fqn, DummyNode>>();
+ private String bin = "_default_bin_";
- public DummySharedInMemoryCacheLoader()
+ @Override
+ public void setConfig(CacheLoaderConfig.IndividualCacheLoaderConfig cfg)
{
- nodes = SHARED_NODES_MAP;
+ super.setConfig(cfg);
+
+ if (config != null && config.getProperties() != null)
+ {
+ bin = config.getProperties().getProperty("bin", "_default_bin_");
+ }
+
+ if (!BINS.containsKey(bin)) BINS.put(bin, new ConcurrentHashMap<Fqn, DummyNode>());
+ nodes = null; // set this to null so any method in superclass that uses this directly will barf with an NPE
}
+
+ @Override
+ protected Map<Fqn, DummyNode> getNodesMap()
+ {
+ return BINS.get(bin);
+ }
}
16 years, 6 months
JBoss Cache SVN: r4562 - core/trunk/src/test/java/org/jboss/cache/loader.
by jbosscache-commits@lists.jboss.org
Author: manik.surtani(a)jboss.com
Date: 2007-10-08 10:16:26 -0400 (Mon, 08 Oct 2007)
New Revision: 4562
Modified:
core/trunk/src/test/java/org/jboss/cache/loader/CacheLoaderTestsBase.java
core/trunk/src/test/java/org/jboss/cache/loader/ChainingCacheLoaderBasicTest.java
Log:
Patched to deal with ChCL quirks
Modified: core/trunk/src/test/java/org/jboss/cache/loader/CacheLoaderTestsBase.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/CacheLoaderTestsBase.java 2007-10-08 14:02:02 UTC (rev 4561)
+++ core/trunk/src/test/java/org/jboss/cache/loader/CacheLoaderTestsBase.java 2007-10-08 14:16:26 UTC (rev 4562)
@@ -2114,9 +2114,14 @@
postConfigure();
- // test that the cache loader is wrapped by a read-only delegate
- assert loader instanceof ReadOnlyDelegatingCacheLoader;
+ // CCL uses it's own mechanisms to ensure read-only behaviour
+ if (!(loader instanceof ChainingCacheLoader))
+ {
+ // test that the cache loader is wrapped by a read-only delegate
+ assert loader instanceof ReadOnlyDelegatingCacheLoader;
+ }
+
// old state should be persisted.
assert "v".equals(loader.get(fqn).get("k"));
assert "v".equals(cache.get(fqn, "k"));
Modified: core/trunk/src/test/java/org/jboss/cache/loader/ChainingCacheLoaderBasicTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/ChainingCacheLoaderBasicTest.java 2007-10-08 14:02:02 UTC (rev 4561)
+++ core/trunk/src/test/java/org/jboss/cache/loader/ChainingCacheLoaderBasicTest.java 2007-10-08 14:16:26 UTC (rev 4562)
@@ -6,19 +6,21 @@
*/
package org.jboss.cache.loader;
-import java.io.File;
-
import org.jboss.cache.config.CacheLoaderConfig;
import org.jboss.cache.factories.XmlConfigurationParser;
import org.jboss.cache.misc.TestingUtil;
import org.jboss.cache.xml.XmlHelper;
+import org.testng.annotations.Test;
import org.w3c.dom.Element;
+import java.io.File;
+
/**
* Tests basic functionality of a chaining cache loader with 2 different loaders
*
* @author <a href="mailto:manik@jboss.org">Manik Surtani (manik(a)jboss.org)</a>
*/
+@Test(groups = {"functional"})
public class ChainingCacheLoaderBasicTest extends CacheLoaderTestsBase
{
private String loc1 = System.getProperty("java.io.tmpdir", ".") + File.separator + "JBossCache-ChainingCacheLoaderBasicTest-1";
16 years, 6 months
JBoss Cache SVN: r4561 - core/trunk/src/test/java/org/jboss/cache/loader.
by jbosscache-commits@lists.jboss.org
Author: manik.surtani(a)jboss.com
Date: 2007-10-08 10:02:02 -0400 (Mon, 08 Oct 2007)
New Revision: 4561
Modified:
core/trunk/src/test/java/org/jboss/cache/loader/JdbmCacheLoaderTest.java
Log:
Was using wrong directory
Modified: core/trunk/src/test/java/org/jboss/cache/loader/JdbmCacheLoaderTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/JdbmCacheLoaderTest.java 2007-10-08 13:53:48 UTC (rev 4560)
+++ core/trunk/src/test/java/org/jboss/cache/loader/JdbmCacheLoaderTest.java 2007-10-08 14:02:02 UTC (rev 4561)
@@ -13,9 +13,9 @@
public class JdbmCacheLoaderTest extends CacheLoaderTestsBase
{
protected void configureCache() throws Exception
- {
+ {
String tmpDir = System.getProperty("java.io.tmpdir", "/tmp");
- String tmpCLLoc = tmpDir + "/JBossCache-FileCacheLoaderTest";
+ String tmpCLLoc = tmpDir + "/JBossCache-JdbmCacheLoaderTest";
cache.getConfiguration().setCacheLoaderConfig(getSingleCacheLoaderConfig("", "org.jboss.cache.loader.jdbm.JdbmCacheLoader", "location=" + tmpCLLoc, false, true, false));
TestingUtil.recursiveFileRemove(tmpCLLoc);
}
16 years, 6 months
JBoss Cache SVN: r4560 - core/trunk/src/test/java/org/jboss/cache/loader.
by jbosscache-commits@lists.jboss.org
Author: manik.surtani(a)jboss.com
Date: 2007-10-08 09:53:48 -0400 (Mon, 08 Oct 2007)
New Revision: 4560
Modified:
core/trunk/src/test/java/org/jboss/cache/loader/CacheLoaderTestsBase.java
core/trunk/src/test/java/org/jboss/cache/loader/JdbmCacheLoaderTest.java
Log:
Some cache loaders cannot deal with being queried after the cache has stopped running.
Modified: core/trunk/src/test/java/org/jboss/cache/loader/CacheLoaderTestsBase.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/CacheLoaderTestsBase.java 2007-10-08 12:58:11 UTC (rev 4559)
+++ core/trunk/src/test/java/org/jboss/cache/loader/CacheLoaderTestsBase.java 2007-10-08 13:53:48 UTC (rev 4560)
@@ -2098,11 +2098,13 @@
assert "v".equals(cache.get(fqn, "k"));
assert "v".equals(loader.get(fqn).get("k"));
+ // Some loaders cannot deal with being called when outside of a running cache.
+ assert "v".equals(loader.get(fqn).get("k"));
+
// now stop the cache
cache.stop();
cache.destroy();
-
- assert "v".equals(loader.get(fqn).get("k"));
+
assert cache.getCacheLoader() == null : "Should nullify cache loader in the cache";
assert cache.getCacheLoaderManager() == null : "Should nullify cache loader manager in the cache";
Modified: core/trunk/src/test/java/org/jboss/cache/loader/JdbmCacheLoaderTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/JdbmCacheLoaderTest.java 2007-10-08 12:58:11 UTC (rev 4559)
+++ core/trunk/src/test/java/org/jboss/cache/loader/JdbmCacheLoaderTest.java 2007-10-08 13:53:48 UTC (rev 4560)
@@ -1,6 +1,7 @@
package org.jboss.cache.loader;
import org.jboss.cache.misc.TestingUtil;
+import org.testng.annotations.Test;
/**
* Tests {@link org.jboss.cache.loader.jdbm.JdbmCacheLoader}.
@@ -8,6 +9,7 @@
* @author Elias Ross
* @version $Id$
*/
+@Test (groups = {"functional"})
public class JdbmCacheLoaderTest extends CacheLoaderTestsBase
{
protected void configureCache() throws Exception
16 years, 6 months