package org.infinispan.persistence.remote; import static org.infinispan.server.hotrod.test.HotRodTestingUtil.hotRodCacheConfiguration; import org.infinispan.client.hotrod.test.HotRodClientTestingUtil; import org.infinispan.commons.api.BasicCacheContainer; import org.infinispan.configuration.cache.PersistenceConfigurationBuilder; import org.infinispan.manager.EmbeddedCacheManager; import org.infinispan.persistence.BaseStoreFunctionalTest; import org.infinispan.persistence.remote.configuration.RemoteStoreConfigurationBuilder; import org.infinispan.server.hotrod.HotRodServer; import org.infinispan.test.TestingUtil; import org.infinispan.test.fwk.TestCacheManagerFactory; import org.testng.annotations.Test; /** * @author Mircea.Markus@jboss.com * @since 4.1 */ @Test(testName = "persistence.remote.RemoteStoreFunctionalTest", groups = "functional") public class RemoteStoreFunctionalTest extends BaseStoreFunctionalTest { private EmbeddedCacheManager localCacheManager; private HotRodServer hrServer; @Override protected PersistenceConfigurationBuilder createCacheStoreConfig(PersistenceConfigurationBuilder persistence, boolean preload) { localCacheManager = TestCacheManagerFactory.createCacheManager(hotRodCacheConfiguration()); hrServer = HotRodClientTestingUtil.startHotRodServer(localCacheManager); persistence .addStore(RemoteStoreConfigurationBuilder.class) .remoteCacheName(BasicCacheContainer.DEFAULT_CACHE_NAME) .preload(preload) .addServer() .host("localhost") .port(hrServer.getPort()); return persistence; } @Override protected void teardown() { super.teardown(); HotRodClientTestingUtil.killServers(hrServer); TestingUtil.killCacheManagers(localCacheManager); } @Override public void testPreloadAndExpiry() { // No-op, since remote cache store does not support preload } @Override public void testPreloadStoredAsBinary() { // No-op, remote cache store does not support store as binary // since Hot Rod already stores them as binary } @Override public void testTwoCachesSameCacheStore() { //not applicable } }