package org.infinispan.persistence.leveldb; import static org.testng.Assert.assertEquals; import java.util.HashMap; import java.util.Map; import java.util.concurrent.TimeUnit; import org.infinispan.Cache; import org.infinispan.configuration.cache.ConfigurationBuilder; import org.infinispan.configuration.cache.PersistenceConfigurationBuilder; import org.infinispan.persistence.leveldb.configuration.LevelDBStoreConfiguration; import org.infinispan.test.fwk.TestCacheManagerFactory; import org.testng.annotations.Test; @Test(groups = "unit", testName = "persistence.leveldb.JavaLevelDBStoreFunctionalTest") public class JavaLevelDBStoreFunctionalTest extends LevelDBStoreFunctionalTest { public static final int EXPIRATION_TIMEOUT = 3000; @Override protected PersistenceConfigurationBuilder createCacheStoreConfig(PersistenceConfigurationBuilder loaders, boolean preload) { super.createStoreBuilder(loaders).implementationType(LevelDBStoreConfiguration.ImplementationType.JAVA).preload(preload); return loaders; } public void testEntrySetAfterExpiryWithStore() throws Exception { ConfigurationBuilder cb = TestCacheManagerFactory.getDefaultCacheConfiguration(false); createCacheStoreConfig(cb.persistence(), true); cacheManager.defineConfiguration("testEntrySetAfterExpiryWithStore", cb.build()); Cache<String, String> cache = cacheManager.getCache("testEntrySetAfterExpiryWithStore"); cache.start(); cache.clear(); assertEquals(cache.entrySet().size(), 0); Map dataIn = new HashMap(); dataIn.put(1, 1); dataIn.put(2, 2); cache.putAll(dataIn, EXPIRATION_TIMEOUT, TimeUnit.MILLISECONDS); Thread.sleep(EXPIRATION_TIMEOUT + 1000); assertEquals(cache.entrySet().size(), 0); } }