package io.parallec.core.main.udp; import io.parallec.core.ParallecResponseHandler; import io.parallec.core.ParallelClient; import io.parallec.core.ResponseOnSingleTask; import io.parallec.core.TestBase; import io.parallec.core.exception.ParallelTaskInvalidException; import io.parallec.core.main.udp.sampleserver.UdpServerThread; 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 ParallelClientUdpBasicTest extends TestBase { private static ParallelClient pc; private static UdpServerThread serverThread; @BeforeClass public static void setUp() throws Exception { pc = new ParallelClient(); boolean similateSlowResponse = false; serverThread = new UdpServerThread(similateSlowResponse); serverThread.start(); try { Thread.sleep(500L); } catch (Exception e) { ; } } @AfterClass public static void shutdown() throws Exception { pc.releaseExternalResources(); serverThread.setShutdown(true); try { Thread.sleep(500L); } catch (Exception e) { ; } } /** * http://www.jeffpei.com/job_b.html http://www.restsuperman.com/job_c.html */ @Test(timeout = 50000) public void UdpTest() { Map<String, Object> responseContext = new HashMap<String, Object>(); pc.prepareUdp("hadoopmonudp").setConcurrency(300) .setTargetHostsFromString("localhost") .setUdpPort(10091) .setResponseContext(responseContext) .execute(new ParallecResponseHandler() { @Override public void onCompleted(ResponseOnSingleTask res, Map<String, Object> responseContext) { logger.info("Responose:" + res.getResponseContent() + " host: " + res.getHost() + " errmsg: " + res.getErrorMessage()); responseContext.put("resp", res.getResponseContent()); } }); String resp = (String) responseContext.get("resp"); Asserts.check(resp.contains("AT_UDP_SERVER"), "fail.UdpTest with whole PC flow"); } @Test(timeout = 50000) public void UdpExpectedRefusedConnectionTest() { Map<String, Object> responseContext = new HashMap<String, Object>(); pc.prepareUdp("hadoopmon").setConcurrency(300) .setTargetHostsFromString("localhost") .setUdpPort(10099) .setResponseContext(responseContext) .execute(new ParallecResponseHandler() { @Override public void onCompleted(ResponseOnSingleTask res, Map<String, Object> responseContext) { logger.info("Responose:" + res.getResponseContent() + " host: " + res.getHost() + " errmsg: " + res.getErrorMessage()); responseContext.put("resp", res.getStatusCode()); } }); String resp = (String) responseContext.get("resp"); Asserts.check(resp.contains("FAILURE"), "fail.TcpTest with expected wrong port"); } @Test public void UdpTestFunctionsExceptions() { try{ pc.prepareUdp("hadoopmonudp").setConcurrency(300) .setTargetHostsFromString("localhost") .setHttpPollable(true) .validation() ; }catch(ParallelTaskInvalidException e){ logger.info("EXPECTED error" + e.getLocalizedMessage()); } } }