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); } }