[infinispan-commits] Infinispan SVN: r890 - in trunk/cachestore/bdbje/src: test/java/org/infinispan/loaders/bdbje and 1 other directory.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Tue Sep 29 11:40:22 EDT 2009
Author: manik.surtani at jboss.com
Date: 2009-09-29 11:40:22 -0400 (Tue, 29 Sep 2009)
New Revision: 890
Modified:
trunk/cachestore/bdbje/src/main/java/org/infinispan/loaders/bdbje/BdbjeCacheStore.java
trunk/cachestore/bdbje/src/test/java/org/infinispan/loaders/bdbje/BdbjeCacheStoreTest.java
Log:
Damn mock objects
Modified: trunk/cachestore/bdbje/src/main/java/org/infinispan/loaders/bdbje/BdbjeCacheStore.java
===================================================================
--- trunk/cachestore/bdbje/src/main/java/org/infinispan/loaders/bdbje/BdbjeCacheStore.java 2009-09-29 15:25:36 UTC (rev 889)
+++ trunk/cachestore/bdbje/src/main/java/org/infinispan/loaders/bdbje/BdbjeCacheStore.java 2009-09-29 15:40:22 UTC (rev 890)
@@ -116,7 +116,7 @@
}
private void openTransactionServices() {
- txnMap = new ConcurrentHashMap<GlobalTransaction, Transaction>(64, 0.75f, cache.getConfiguration().getConcurrencyLevel());
+ txnMap = new ConcurrentHashMap<GlobalTransaction, Transaction>(64, 0.75f, getConcurrencyLevel());
currentTransaction = factory.createCurrentTransaction(env);
transactionRunner = factory.createPreparableTransactionRunner(env);
}
Modified: trunk/cachestore/bdbje/src/test/java/org/infinispan/loaders/bdbje/BdbjeCacheStoreTest.java
===================================================================
--- trunk/cachestore/bdbje/src/test/java/org/infinispan/loaders/bdbje/BdbjeCacheStoreTest.java 2009-09-29 15:25:36 UTC (rev 889)
+++ trunk/cachestore/bdbje/src/test/java/org/infinispan/loaders/bdbje/BdbjeCacheStoreTest.java 2009-09-29 15:40:22 UTC (rev 890)
@@ -37,352 +37,353 @@
*/
@Test(groups = "unit", enabled = true, testName = "loaders.bdbje.BdbjeCacheStoreTest")
public class BdbjeCacheStoreTest {
- private BdbjeCacheStore cs;
- private BdbjeCacheStoreConfig cfg;
- private BdbjeResourceFactory factory;
- private Cache cache;
- private Environment env;
- private Database cacheDb;
- private Database catalogDb;
- private Database expiryDb;
+ private BdbjeCacheStore cs;
+ private BdbjeCacheStoreConfig cfg;
+ private BdbjeResourceFactory factory;
+ private Cache cache;
+ private Environment env;
+ private Database cacheDb;
+ private Database catalogDb;
+ private Database expiryDb;
- private StoredClassCatalog catalog;
- private StoredMap cacheMap;
- private StoredSortedMap expiryMap;
+ private StoredClassCatalog catalog;
+ private StoredMap cacheMap;
+ private StoredSortedMap expiryMap;
- private PreparableTransactionRunner runner;
- private CurrentTransaction currentTransaction;
+ private PreparableTransactionRunner runner;
+ private CurrentTransaction currentTransaction;
private GlobalTransactionFactory gtf;
private class MockBdbjeResourceFactory extends BdbjeResourceFactory {
- @Override
- public PreparableTransactionRunner createPreparableTransactionRunner(Environment env) {
- return runner;
- }
+ @Override
+ public PreparableTransactionRunner createPreparableTransactionRunner(Environment env) {
+ return runner;
+ }
- @Override
- public CurrentTransaction createCurrentTransaction(Environment env) {
- return currentTransaction;
- }
+ @Override
+ public CurrentTransaction createCurrentTransaction(Environment env) {
+ return currentTransaction;
+ }
- @Override
- public Environment createEnvironment(File envLocation) throws DatabaseException {
- return env;
- }
+ @Override
+ public Environment createEnvironment(File envLocation) throws DatabaseException {
+ return env;
+ }
- @Override
- public StoredClassCatalog createStoredClassCatalog(Database catalogDb) throws DatabaseException {
- return catalog;
- }
+ @Override
+ public StoredClassCatalog createStoredClassCatalog(Database catalogDb) throws DatabaseException {
+ return catalog;
+ }
- @Override
- public Database createDatabase(Environment env, String name) throws DatabaseException {
- if (name.equals(cfg.getCacheDbName()))
- return cacheDb;
- else if (name.equals(cfg.getCatalogDbName()))
- return catalogDb;
- else if (name.equals(cfg.getExpiryDbName()))
- return expiryDb;
- else throw new IllegalStateException("Unknown name:" + name);
- }
+ @Override
+ public Database createDatabase(Environment env, String name) throws DatabaseException {
+ if (name.equals(cfg.getCacheDbName()))
+ return cacheDb;
+ else if (name.equals(cfg.getCatalogDbName()))
+ return catalogDb;
+ else if (name.equals(cfg.getExpiryDbName()))
+ return expiryDb;
+ else throw new IllegalStateException("Unknown name:" + name);
+ }
- @Override
- public StoredMap createStoredMapViewOfDatabase(Database database, StoredClassCatalog classCatalog, Marshaller m) throws DatabaseException {
- return cacheMap;
- }
+ @Override
+ public StoredMap createStoredMapViewOfDatabase(Database database, StoredClassCatalog classCatalog, Marshaller m) throws DatabaseException {
+ return cacheMap;
+ }
- @Override
- public StoredSortedMap<Long, Object> createStoredSortedMapForKeyExpiry(Database database, StoredClassCatalog classCatalog, Marshaller marshaller) throws DatabaseException {
- return expiryMap;
- }
+ @Override
+ public StoredSortedMap<Long, Object> createStoredSortedMapForKeyExpiry(Database database, StoredClassCatalog classCatalog, Marshaller marshaller) throws DatabaseException {
+ return expiryMap;
+ }
- public MockBdbjeResourceFactory(BdbjeCacheStoreConfig config) {
- super(config);
- }
- }
+ public MockBdbjeResourceFactory(BdbjeCacheStoreConfig config) {
+ super(config);
+ }
+ }
- @BeforeMethod
- public void setUp() throws Exception {
- cfg = new BdbjeCacheStoreConfig();
- factory = new MockBdbjeResourceFactory(cfg);
- cache = createMock(Cache.class);
- cs = new BdbjeCacheStore();
- env = createMock(Environment.class);
- cacheDb = createMock(Database.class);
- catalogDb = createMock(Database.class);
- expiryDb = createMock(Database.class);
- catalog = createMock(StoredClassCatalog.class);
- cacheMap = createMock(StoredMap.class);
- expiryMap = createMock(StoredSortedMap.class);
- currentTransaction = createMock(CurrentTransaction.class);
- WeakReference<Environment> envRef = new WeakReference<Environment>(env);
- ReflectionUtil.setValue(currentTransaction, "envRef", envRef);
- ThreadLocal localTrans = new ThreadLocal();
- ReflectionUtil.setValue(currentTransaction, "localTrans", localTrans);
- runner = createMock(PreparableTransactionRunner.class);
- }
+ @BeforeMethod
+ public void setUp() throws Exception {
+ cfg = new BdbjeCacheStoreConfig();
+ factory = new MockBdbjeResourceFactory(cfg);
+ cache = createMock(Cache.class);
+ cs = new BdbjeCacheStore();
+ env = createMock(Environment.class);
+ cacheDb = createMock(Database.class);
+ catalogDb = createMock(Database.class);
+ expiryDb = createMock(Database.class);
+ catalog = createMock(StoredClassCatalog.class);
+ cacheMap = createMock(StoredMap.class);
+ expiryMap = createMock(StoredSortedMap.class);
+ currentTransaction = createMock(CurrentTransaction.class);
+ WeakReference<Environment> envRef = new WeakReference<Environment>(env);
+ ReflectionUtil.setValue(currentTransaction, "envRef", envRef);
+ ThreadLocal localTrans = new ThreadLocal();
+ ReflectionUtil.setValue(currentTransaction, "localTrans", localTrans);
+ runner = createMock(PreparableTransactionRunner.class);
+ }
- @AfterMethod
- public void tearDown() throws CacheLoaderException {
- runner = null;
- currentTransaction = null;
- cacheMap = null;
- catalogDb = null;
- expiryDb = null;
- cacheDb = null;
- env = null;
- factory = null;
- cache = null;
- cfg = null;
- cs = null;
- }
+ @AfterMethod
+ public void tearDown() throws CacheLoaderException {
+ runner = null;
+ currentTransaction = null;
+ cacheMap = null;
+ catalogDb = null;
+ expiryDb = null;
+ cacheDb = null;
+ env = null;
+ factory = null;
+ cache = null;
+ cfg = null;
+ cs = null;
+ }
- void start() throws DatabaseException, CacheLoaderException {
- cs.init(cfg, factory, cache, new TestObjectStreamMarshaller());
- expect(cache.getName()).andReturn("cache");
- }
+ void start() throws DatabaseException, CacheLoaderException {
+ cs.init(cfg, factory, cache, new TestObjectStreamMarshaller());
+ expect(cache.getName()).andReturn("cache");
+ expect(cache.getConfiguration()).andReturn(null).anyTimes();
+ }
- @Test
- public void testGetConfigurationClass() throws Exception {
- replayAll();
- assert cs.getConfigurationClass().equals(BdbjeCacheStoreConfig.class);
- verifyAll();
- }
+ @Test
+ public void testGetConfigurationClass() throws Exception {
+ replayAll();
+ assert cs.getConfigurationClass().equals(BdbjeCacheStoreConfig.class);
+ verifyAll();
+ }
- void replayAll() throws Exception {
- replay(runner);
- replay(currentTransaction);
- replay(cacheMap);
- replay(expiryMap);
- replay(catalog);
- replay(catalogDb);
- replay(expiryDb);
- replay(cacheDb);
- replay(env);
- replay(cache);
- }
+ void replayAll() throws Exception {
+ replay(runner);
+ replay(currentTransaction);
+ replay(cacheMap);
+ replay(expiryMap);
+ replay(catalog);
+ replay(catalogDb);
+ replay(expiryDb);
+ replay(cacheDb);
+ replay(env);
+ replay(cache);
+ }
- void verifyAll() throws Exception {
- verify(runner);
- verify(currentTransaction);
- verify(cacheMap);
- verify(expiryMap);
- verify(catalog);
- verify(catalogDb);
- verify(expiryDb);
- verify(env);
- verify(cache);
- }
+ void verifyAll() throws Exception {
+ verify(runner);
+ verify(currentTransaction);
+ verify(cacheMap);
+ verify(expiryMap);
+ verify(catalog);
+ verify(catalogDb);
+ verify(expiryDb);
+ verify(env);
+ verify(cache);
+ }
- @Test
- public void testInitNoMock() throws Exception {
- replayAll();
- cs.init(cfg, cache, null);
- assert cfg.equals(ReflectionUtil.getValue(cs, "cfg"));
- assert cache.equals(ReflectionUtil.getValue(cs, "cache"));
- assert ReflectionUtil.getValue(cs, "factory") instanceof BdbjeResourceFactory;
- verifyAll();
- }
+ @Test
+ public void testInitNoMock() throws Exception {
+ replayAll();
+ cs.init(cfg, cache, null);
+ assert cfg.equals(ReflectionUtil.getValue(cs, "cfg"));
+ assert cache.equals(ReflectionUtil.getValue(cs, "cache"));
+ assert ReflectionUtil.getValue(cs, "factory") instanceof BdbjeResourceFactory;
+ verifyAll();
+ }
- @Test
- void testExceptionClosingCacheDatabaseDoesntPreventEnvironmentFromClosing() throws Exception {
- start();
- cacheDb.close();
- expiryDb.close();
- expectLastCall().andThrow(new DatabaseException());
- catalog.close();
- env.close();
- replayAll();
- cs.start();
- cs.stop();
+ @Test
+ void testExceptionClosingCacheDatabaseDoesntPreventEnvironmentFromClosing() throws Exception {
+ start();
+ cacheDb.close();
+ expiryDb.close();
+ expectLastCall().andThrow(new DatabaseException());
+ catalog.close();
+ env.close();
+ replayAll();
+ cs.start();
+ cs.stop();
- verifyAll();
- }
+ verifyAll();
+ }
- @Test
- void testExceptionClosingCatalogDoesntPreventEnvironmentFromClosing() throws Exception {
- start();
- cacheDb.close();
- expiryDb.close();
- catalog.close();
- expectLastCall().andThrow(new DatabaseException());
- env.close();
- replayAll();
- cs.start();
- cs.stop();
- verifyAll();
- }
+ @Test
+ void testExceptionClosingCatalogDoesntPreventEnvironmentFromClosing() throws Exception {
+ start();
+ cacheDb.close();
+ expiryDb.close();
+ catalog.close();
+ expectLastCall().andThrow(new DatabaseException());
+ env.close();
+ replayAll();
+ cs.start();
+ cs.stop();
+ verifyAll();
+ }
- @Test(expectedExceptions = CacheLoaderException.class)
- void testExceptionClosingEnvironment() throws Exception {
- start();
- cacheDb.close();
- expiryDb.close();
- catalog.close();
- env.close();
- expectLastCall().andThrow(new DatabaseException());
- replayAll();
- cs.start();
- cs.stop();
- verifyAll();
- }
+ @Test(expectedExceptions = CacheLoaderException.class)
+ void testExceptionClosingEnvironment() throws Exception {
+ start();
+ cacheDb.close();
+ expiryDb.close();
+ catalog.close();
+ env.close();
+ expectLastCall().andThrow(new DatabaseException());
+ replayAll();
+ cs.start();
+ cs.stop();
+ verifyAll();
+ }
- @Test(expectedExceptions = CacheLoaderException.class)
- void testThrowsCorrectExceptionOnStartForDatabaseException() throws Exception {
- factory = new MockBdbjeResourceFactory(cfg) {
- @Override
- public StoredClassCatalog createStoredClassCatalog(Database catalogDb) throws DatabaseException {
- throw new DatabaseException();
- }
- };
- start();
- replayAll();
- cs.start();
+ @Test(expectedExceptions = CacheLoaderException.class)
+ void testThrowsCorrectExceptionOnStartForDatabaseException() throws Exception {
+ factory = new MockBdbjeResourceFactory(cfg) {
+ @Override
+ public StoredClassCatalog createStoredClassCatalog(Database catalogDb) throws DatabaseException {
+ throw new DatabaseException();
+ }
+ };
+ start();
+ replayAll();
+ cs.start();
- }
+ }
- @Test(expectedExceptions = CacheLoaderException.class)
- void testEnvironmentDirectoryExistsButNotAFile() throws Exception {
- File file = createMock(File.class);
- expect(file.exists()).andReturn(true);
- expect(file.isDirectory()).andReturn(false);
- replay(file);
- cs.verifyOrCreateEnvironmentDirectory(file);
- }
+ @Test(expectedExceptions = CacheLoaderException.class)
+ void testEnvironmentDirectoryExistsButNotAFile() throws Exception {
+ File file = createMock(File.class);
+ expect(file.exists()).andReturn(true);
+ expect(file.isDirectory()).andReturn(false);
+ replay(file);
+ cs.verifyOrCreateEnvironmentDirectory(file);
+ }
- @Test(expectedExceptions = CacheLoaderException.class)
- void testCantCreateEnvironmentDirectory() throws Exception {
- File file = createMock(File.class);
- expect(file.exists()).andReturn(false);
- expect(file.mkdirs()).andReturn(false);
- replay(file);
- cs.verifyOrCreateEnvironmentDirectory(file);
- }
+ @Test(expectedExceptions = CacheLoaderException.class)
+ void testCantCreateEnvironmentDirectory() throws Exception {
+ File file = createMock(File.class);
+ expect(file.exists()).andReturn(false);
+ expect(file.mkdirs()).andReturn(false);
+ replay(file);
+ cs.verifyOrCreateEnvironmentDirectory(file);
+ }
- @Test
- void testCanCreateEnvironmentDirectory() throws Exception {
- File file = createMock(File.class);
- expect(file.exists()).andReturn(false);
- expect(file.mkdirs()).andReturn(true);
- expect(file.isDirectory()).andReturn(true);
- replay(file);
- assert file.equals(cs.verifyOrCreateEnvironmentDirectory(file));
- }
+ @Test
+ void testCanCreateEnvironmentDirectory() throws Exception {
+ File file = createMock(File.class);
+ expect(file.exists()).andReturn(false);
+ expect(file.mkdirs()).andReturn(true);
+ expect(file.isDirectory()).andReturn(true);
+ replay(file);
+ assert file.equals(cs.verifyOrCreateEnvironmentDirectory(file));
+ }
- @Test
- public void testNoExceptionOnRollback() throws Exception {
- start();
- gtf = new GlobalTransactionFactory();
- GlobalTransaction tx = gtf.newGlobalTransaction(null, false);
- replayAll();
- cs.start();
- cs.rollback(tx);
- verifyAll();
- }
+ @Test
+ public void testNoExceptionOnRollback() throws Exception {
+ start();
+ gtf = new GlobalTransactionFactory();
+ GlobalTransaction tx = gtf.newGlobalTransaction(null, false);
+ replayAll();
+ cs.start();
+ cs.rollback(tx);
+ verifyAll();
+ }
- @Test
- protected void testApplyModificationsThrowsOriginalDatabaseException() throws Exception {
- start();
- DatabaseException ex = new DatabaseException();
- runner.run(isA(TransactionWorker.class));
- expectLastCall().andThrow(new RuntimeExceptionWrapper(ex));
- replayAll();
- cs.start();
- try {
- cs.applyModifications(Collections.singletonList(new Store(InternalEntryFactory.create("k", "v"))));
- assert false : "should have gotten an exception";
- } catch (CacheLoaderException e) {
- assert ex.equals(e.getCause());
- verifyAll();
- return;
- }
- assert false : "should have returned";
+ @Test
+ protected void testApplyModificationsThrowsOriginalDatabaseException() throws Exception {
+ start();
+ DatabaseException ex = new DatabaseException();
+ runner.run(isA(TransactionWorker.class));
+ expectLastCall().andThrow(new RuntimeExceptionWrapper(ex));
+ replayAll();
+ cs.start();
+ try {
+ cs.applyModifications(Collections.singletonList(new Store(InternalEntryFactory.create("k", "v"))));
+ assert false : "should have gotten an exception";
+ } catch (CacheLoaderException e) {
+ assert ex.equals(e.getCause());
+ verifyAll();
+ return;
+ }
+ assert false : "should have returned";
- }
+ }
- @Test
- protected void testCommitThrowsOriginalDatabaseException() throws Exception {
- start();
- DatabaseException ex = new DatabaseException();
- com.sleepycat.je.Transaction txn = createMock(com.sleepycat.je.Transaction.class);
- expect(currentTransaction.beginTransaction(null)).andReturn(txn);
- runner.prepare(isA(TransactionWorker.class));
- txn.commit();
- expectLastCall().andThrow(new RuntimeExceptionWrapper(ex));
- replayAll();
- replay(txn);
- cs.start();
- try {
- txn = currentTransaction.beginTransaction(null);
- GlobalTransaction t = gtf.newGlobalTransaction(null, false);
- cs.prepare(Collections.singletonList(new Store(InternalEntryFactory.create("k", "v"))), t, false);
- cs.commit(t);
- assert false : "should have gotten an exception";
- } catch (CacheLoaderException e) {
- assert ex.equals(e.getCause());
- verifyAll();
- return;
- }
- assert false : "should have returned";
+ @Test
+ protected void testCommitThrowsOriginalDatabaseException() throws Exception {
+ start();
+ DatabaseException ex = new DatabaseException();
+ com.sleepycat.je.Transaction txn = createMock(com.sleepycat.je.Transaction.class);
+ expect(currentTransaction.beginTransaction(null)).andReturn(txn);
+ runner.prepare(isA(TransactionWorker.class));
+ txn.commit();
+ expectLastCall().andThrow(new RuntimeExceptionWrapper(ex));
+ replayAll();
+ replay(txn);
+ cs.start();
+ try {
+ txn = currentTransaction.beginTransaction(null);
+ GlobalTransaction t = gtf.newGlobalTransaction(null, false);
+ cs.prepare(Collections.singletonList(new Store(InternalEntryFactory.create("k", "v"))), t, false);
+ cs.commit(t);
+ assert false : "should have gotten an exception";
+ } catch (CacheLoaderException e) {
+ assert ex.equals(e.getCause());
+ verifyAll();
+ return;
+ }
+ assert false : "should have returned";
- }
+ }
- @Test
- protected void testPrepareThrowsOriginalDatabaseException() throws Exception {
- start();
- DatabaseException ex = new DatabaseException();
- runner.prepare(isA(TransactionWorker.class));
- expectLastCall().andThrow(new RuntimeExceptionWrapper(ex));
- replayAll();
- cs.start();
- try {
- GlobalTransaction tx = gtf.newGlobalTransaction(null, false);
- cs.prepare(Collections.singletonList(new Store(InternalEntryFactory.create("k", "v"))), tx, false);
- assert false : "should have gotten an exception";
- } catch (CacheLoaderException e) {
- assert ex.equals(e.getCause());
- verifyAll();
- return;
- }
- assert false : "should have returned";
+ @Test
+ protected void testPrepareThrowsOriginalDatabaseException() throws Exception {
+ start();
+ DatabaseException ex = new DatabaseException();
+ runner.prepare(isA(TransactionWorker.class));
+ expectLastCall().andThrow(new RuntimeExceptionWrapper(ex));
+ replayAll();
+ cs.start();
+ try {
+ GlobalTransaction tx = gtf.newGlobalTransaction(null, false);
+ cs.prepare(Collections.singletonList(new Store(InternalEntryFactory.create("k", "v"))), tx, false);
+ assert false : "should have gotten an exception";
+ } catch (CacheLoaderException e) {
+ assert ex.equals(e.getCause());
+ verifyAll();
+ return;
+ }
+ assert false : "should have returned";
- }
+ }
- @Test
- void testClearOnAbortFromStream() throws Exception {
- start();
- InternalCacheEntry entry = InternalEntryFactory.create("key", "value");
- expect(cacheMap.put(entry.getKey(), entry)).andReturn(null);
- ObjectInput ois = createMock(ObjectInput.class);
- expect(ois.readLong()).andReturn(new Long(1));
- com.sleepycat.je.Transaction txn = createMock(com.sleepycat.je.Transaction.class);
- expect(currentTransaction.beginTransaction(null)).andReturn(txn);
- cacheMap.clear();
- Cursor cursor = createMock(Cursor.class);
- expect(cacheDb.openCursor(txn, null)).andReturn(cursor);
- IOException ex = new IOException();
- expect(ois.readObject()).andReturn(new byte[0]);
- expectLastCall().andThrow(ex);
- txn.abort();
- cacheMap.clear();
- expiryMap.clear();
- replay(ois);
- replay(txn);
- replayAll();
- cs.start();
- try {
- cs.store(entry);
- cs.fromStream(ois);
- assert false : "should have gotten an exception";
- } catch (CacheLoaderException e) {
- assert ex.equals(e.getCause());
- verifyAll();
- verify(ois);
- verify(txn);
- return;
- }
- assert false : "should have returned";
- }
+ @Test
+ void testClearOnAbortFromStream() throws Exception {
+ start();
+ InternalCacheEntry entry = InternalEntryFactory.create("key", "value");
+ expect(cacheMap.put(entry.getKey(), entry)).andReturn(null);
+ ObjectInput ois = createMock(ObjectInput.class);
+ expect(ois.readLong()).andReturn(new Long(1));
+ com.sleepycat.je.Transaction txn = createMock(com.sleepycat.je.Transaction.class);
+ expect(currentTransaction.beginTransaction(null)).andReturn(txn);
+ cacheMap.clear();
+ Cursor cursor = createMock(Cursor.class);
+ expect(cacheDb.openCursor(txn, null)).andReturn(cursor);
+ IOException ex = new IOException();
+ expect(ois.readObject()).andReturn(new byte[0]);
+ expectLastCall().andThrow(ex);
+ txn.abort();
+ cacheMap.clear();
+ expiryMap.clear();
+ replay(ois);
+ replay(txn);
+ replayAll();
+ cs.start();
+ try {
+ cs.store(entry);
+ cs.fromStream(ois);
+ assert false : "should have gotten an exception";
+ } catch (CacheLoaderException e) {
+ assert ex.equals(e.getCause());
+ verifyAll();
+ verify(ois);
+ verify(txn);
+ return;
+ }
+ assert false : "should have returned";
+ }
}
More information about the infinispan-commits
mailing list