package org.infinispan.client.hotrod;
import static org.infinispan.client.hotrod.test.HotRodClientTestingUtil.killRemoteCacheManager;
import static org.infinispan.client.hotrod.test.HotRodClientTestingUtil.killServers;
import static org.infinispan.server.hotrod.test.HotRodTestingUtil.hotRodCacheConfiguration;
import static org.infinispan.test.TestingUtil.killCacheManagers;
import org.infinispan.client.hotrod.test.HotRodClientTestingUtil;
import org.infinispan.manager.EmbeddedCacheManager;
import org.infinispan.server.hotrod.HotRodServer;
import org.infinispan.test.SingleCacheManagerTest;
import org.infinispan.test.fwk.TestCacheManagerFactory;
import org.testng.annotations.AfterTest;
import org.testng.annotations.Test;
/**
* @author Mircea.Markus@jboss.com
* @since 4.1
*/
@Test(groups = "functional", testName = "client.hotrod.CacheContainerTest")
public class CacheContainerTest extends SingleCacheManagerTest {
private static final String CACHE_NAME = "someName";
EmbeddedCacheManager cacheManager = null;
HotRodServer hotrodServer = null;
RemoteCacheManager remoteCacheManager;
@Override
protected EmbeddedCacheManager createCacheManager() throws Exception {
cacheManager = TestCacheManagerFactory.createCacheManager(
hotRodCacheConfiguration());
cacheManager.defineConfiguration(CACHE_NAME, hotRodCacheConfiguration().build());
hotrodServer = HotRodClientTestingUtil.startHotRodServer(cacheManager);
org.infinispan.client.hotrod.configuration.ConfigurationBuilder clientBuilder =
new org.infinispan.client.hotrod.configuration.ConfigurationBuilder();
clientBuilder.addServer().host("localhost").port(hotrodServer.getPort());
remoteCacheManager = new RemoteCacheManager(clientBuilder.build());
return cacheManager;
}
@AfterTest
public void release() {
killCacheManagers(cacheManager);
killRemoteCacheManager(remoteCacheManager);
killServers(hotrodServer);
}
public void testObtainingSameInstanceMultipleTimes() {
RemoteCache<Object, Object> objectCache = remoteCacheManager.getCache();
RemoteCache<Object, Object> objectCache2 = remoteCacheManager.getCache();
assert objectCache == objectCache2;
}
public void testObtainingSameInstanceMultipleTimes2() {
RemoteCache<Object, Object> objectCache = remoteCacheManager.getCache(CACHE_NAME);
RemoteCache<Object, Object> objectCache2 = remoteCacheManager.getCache(CACHE_NAME);
assert objectCache == objectCache2;
}
}