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.testng.AssertJUnit.assertEquals;
import org.infinispan.client.hotrod.test.HotRodClientTestingUtil;
import org.infinispan.configuration.cache.CacheMode;
import org.infinispan.configuration.cache.ConfigurationBuilder;
import org.infinispan.server.hotrod.HotRodServer;
import org.infinispan.test.MultipleCacheManagersTest;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.Test;
/**
* @author Mircea.Markus@jboss.com
* @since 4.1
*/
@Test(testName = "client.hotrod.HotRodServerStartStopTest", groups = "functional")
public class HotRodServerStartStopTest extends MultipleCacheManagersTest {
private HotRodServer hotRodServer1;
private HotRodServer hotRodServer2;
@AfterMethod
@Override
protected void clearContent() throws Throwable {
}
@Override
protected void createCacheManagers() throws Throwable {
ConfigurationBuilder builder = hotRodCacheConfiguration(
getDefaultClusteredCacheConfig(CacheMode.DIST_SYNC, false));
addClusterEnabledCacheManager(builder);
addClusterEnabledCacheManager(builder);
hotRodServer1 = HotRodClientTestingUtil.startHotRodServer(manager(0));
hotRodServer2 = HotRodClientTestingUtil.startHotRodServer(manager(1));
assert manager(0).getCache() != null;
assert manager(1).getCache() != null;
waitForClusterToForm();
}
public void testTouchServer() {
org.infinispan.client.hotrod.configuration.ConfigurationBuilder clientBuilder =
new org.infinispan.client.hotrod.configuration.ConfigurationBuilder();
clientBuilder.addServer().host("localhost").port(hotRodServer1.getPort());
RemoteCacheManager remoteCacheManager = new RemoteCacheManager(clientBuilder.build(), true);
RemoteCache<Object, Object> remoteCache = remoteCacheManager.getCache();
remoteCache.put("k", "v");
assertEquals("v", remoteCache.get("k"));
killRemoteCacheManager(remoteCacheManager);
}
@Test (dependsOnMethods = "testTouchServer")
public void testHrServerStop() {
killServers(hotRodServer1, hotRodServer2);
}
}