package io.parallec.core.main.http; import io.parallec.core.ParallecResponseHandler; import io.parallec.core.ParallelClient; import io.parallec.core.ParallelTask; import io.parallec.core.ResponseOnSingleTask; import io.parallec.core.TestBase; import io.parallec.core.util.PcFileNetworkIoUtils; import io.parallec.core.util.PcStringUtils; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; public class ParallelClientHttpTop100WebsiteTest 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 hitTop100WebsitesMin() { ParallelTask pt = pc .prepareHttpGet("") .setConcurrency(1000) .setSaveResponseToTask(true) .setTargetHostsFromLineByLineText(FILEPATH_TOP_100, SOURCE_LOCAL).execute(new ParallecResponseHandler() { @Override public void onCompleted(ResponseOnSingleTask res, Map<String, Object> responseContext) { logger.info("Responose Code:" + res.getStatusCode() + " host: " + res.getHost()); } }); logger.info("Result Summary\n{}", PcStringUtils.renderJson(pt.getAggregateResultFullSummary())); pt.saveLogToLocal(); } @Ignore // @Test public void hitTop100WebsitesViaIps() { List<String> hostNames = PcFileNetworkIoUtils .getListFromLineByLineText(FILEPATH_TOP_100, SOURCE_LOCAL); List<String> hostIps = new ArrayList<String>(); int count = 0; for (String hostName : hostNames) { logger.info("get ip for host # {}", ++count); InetAddress address; try { address = InetAddress.getByName(hostName); hostIps.add(address.getHostAddress()); } catch (UnknownHostException e) { e.printStackTrace(); } } ParallelTask pt = pc.prepareHttpGet("").setConcurrency(1000) .setTargetHostsFromList(hostIps) // .setTargetHostsFromLineByLineText(FILEPATH_TOP_100, // SOURCE_LOCAL) .execute(new ParallecResponseHandler() { @Override public void onCompleted(ResponseOnSingleTask res, Map<String, Object> responseContext) { logger.info("Responose Code:" + res.getStatusCode() + " host: " + res.getHost()); } }); logger.info("Result Summary\n{}", PcStringUtils.renderJson(pt.getAggregateResultCountSummary())); } }