package org.infinispan.persistence.remote; import static org.infinispan.server.hotrod.test.HotRodTestingUtil.hotRodCacheConfiguration; import static org.infinispan.test.TestingUtil.withCacheManager; import static org.testng.AssertJUnit.assertEquals; import org.infinispan.Cache; import org.infinispan.client.hotrod.test.HotRodClientTestingUtil; import org.infinispan.manager.EmbeddedCacheManager; import org.infinispan.persistence.spi.CacheLoader; import org.infinispan.server.hotrod.HotRodServer; import org.infinispan.server.hotrod.test.HotRodTestingUtil; import org.infinispan.test.AbstractInfinispanTest; import org.infinispan.test.CacheManagerCallable; import org.infinispan.test.TestingUtil; import org.infinispan.test.fwk.TestCacheManagerFactory; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; /** * Simple test to sample how remote cache store is configured. * * @author Mircea.Markus@jboss.com * @since 4.1 */ @Test(testName = "persistence.remote.RemoteStoreConfigTest", groups = "functional") public class RemoteStoreConfigTest extends AbstractInfinispanTest { public static final String CACHE_LOADER_CONFIG = "remote-cl-config.xml"; private EmbeddedCacheManager cacheManager; private HotRodServer hotRodServer; @BeforeClass public void startUp() { cacheManager = TestCacheManagerFactory.createCacheManager(hotRodCacheConfiguration()); assertEquals(cacheManager.getCache().size(), 0); hotRodServer = HotRodTestingUtil.startHotRodServer(cacheManager, 19711); } public void simpleTest() throws Exception { withCacheManager(new CacheManagerCallable(TestCacheManagerFactory.fromXml(CACHE_LOADER_CONFIG)) { @Override public void call() { Cache<Object, Object> cache = cm.getCache(); CacheLoader cacheLoader = TestingUtil.getCacheLoader(cache); assert cacheLoader != null; assert cacheLoader instanceof RemoteStore; cache.put("k", "v"); assertEquals(1, cacheManager.getCache().size()); cache.stop(); assertEquals(1, cacheManager.getCache().size()); } }); withCacheManager(new CacheManagerCallable(TestCacheManagerFactory.fromXml(CACHE_LOADER_CONFIG)) { @Override public void call() { Cache cache = cm.getCache(); assertEquals("v", cache.get("k")); } }); } @AfterClass public void tearDown() { HotRodClientTestingUtil.killServers(hotRodServer); TestingUtil.killCacheManagers(cacheManager); } }