package io.parallec.core; import java.util.HashMap; import java.util.Map; import org.apache.http.util.Asserts; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; public class ParallelClientTest extends TestBase { private static ParallelClient pc; @BeforeClass public static void setUp() throws Exception { pc = new ParallelClient(); } @AfterClass public static void shutdown() throws Exception { pc.releaseExternalResources(); } @Test public void testReInit() { pc.releaseExternalResources(); Map<String, Object> responseContext = new HashMap<String, Object>(); pc .prepareHttpGet("/validateInternals.html") .setConcurrency(1700) .handleInWorker() .setTargetHostsFromString( "www.parallec.io www.jeffpei.com www.restcommander.com") .execute(new ParallecResponseHandler() { @Override public void onCompleted(ResponseOnSingleTask res, Map<String, Object> responseContext) { String cpu = new FilterRegex( ".*<td>CPU-Usage-Percent</td>\\s*<td>(.*?)</td>.*") .filter(res.getResponseContent()); String memory = new FilterRegex( ".*<td>Memory-Used-KB</td>\\s*<td>(.*?)</td>.*") .filter(res.getResponseContent()); Map<String, Object> metricMap = new HashMap<String, Object>(); metricMap.put("CpuUsage", cpu); metricMap.put("MemoryUsage", memory); logger.info("cpu:" + cpu + " memory: " + memory + " host: " + res.getHost()); responseContext.put(res.getHost(), cpu); logger.debug(res.toString()); } }); for (Object o : responseContext.values()) { Double cpuDouble = Double.parseDouble((String) o); Asserts.check(cpuDouble <= 100.0 && cpuDouble >= 0.0, " Fail to extract cpu values"); } } }