package io.parallec.core.pojo;
import io.parallec.core.ParallelTaskBuilder;
import io.parallec.core.ResponseOnSingleTask;
import io.parallec.core.TestBase;
import io.parallec.core.actor.ActorConfig;
import io.parallec.core.actor.message.NodeReqResponse;
import io.parallec.core.actor.message.ResponseOnSingeRequest;
import io.parallec.core.actor.poll.HttpPollerProcessor;
import io.parallec.core.actor.poll.PollerData;
import io.parallec.core.app.ParallecAppMin;
import io.parallec.core.bean.HttpMeta;
import io.parallec.core.bean.SetAndCount;
import io.parallec.core.bean.StrStrMap;
import io.parallec.core.bean.tcp.TcpMeta;
import io.parallec.core.bean.udp.UdpMeta;
import io.parallec.core.exception.HttpRequestCreateException;
import io.parallec.core.exception.ParallelTaskInvalidException;
import io.parallec.core.monitor.MonitorProvider;
import io.parallec.core.resources.AsyncHttpClientFactoryEmbed.CustomTrustManager;
import io.parallec.core.resources.HttpMethod;
import io.parallec.core.resources.TcpUdpSshPingResourceStore;
import io.parallec.core.task.TaskErrorMeta;
import io.parallec.core.task.TaskErrorMeta.TaskErrorType;
import io.parallec.core.util.BeanMapper;
import io.parallec.core.util.PcConstants;
import io.parallec.core.util.PcDateUtils;
import io.parallec.core.util.PcErrorMsgUtils;
import io.parallec.core.util.PcFileNetworkIoUtils;
import io.parallec.core.util.PcHttpUtils;
import io.parallec.core.util.PcNumberUtils;
import io.parallec.core.util.PcStringUtils;
import io.parallec.core.util.PcTargetHostsUtils;
import java.util.HashMap;
import java.util.HashSet;
import org.junit.Test;
public class ParallecPojoStrTest extends TestBase {
@Test
public void testMetaValidationToString() {
PollerData pollerData = new PollerData();
logger.info(pollerData.toString());
ParallelTaskBuilder pTaskBuilder = new ParallelTaskBuilder();
logger.info(pTaskBuilder.toString());
NodeReqResponse nodeReqResponse = new NodeReqResponse("hostname1");
logger.info(nodeReqResponse.toString());
HttpMeta httpMeta = new HttpMeta();
logger.info(httpMeta.toString());
HttpMeta httpMeta2 = new HttpMeta(HttpMethod.GET, "", "", "", null);
httpMeta2.toString();
TcpMeta tcpMeta = new TcpMeta("", 80, 1000, 5, null);
tcpMeta.toString();
// empty and all pass validation: test validation
TcpMeta tcpMeta2 = new TcpMeta();
TcpMeta tcpMeta3 = new TcpMeta("", 80, 1000, 5,
TcpUdpSshPingResourceStore.getInstance().getChannelFactory());
try {
tcpMeta2.validation();
} catch (ParallelTaskInvalidException e) {
logger.info("expected exception {}", e.getLocalizedMessage());
}
tcpMeta2.setCommand("");
try {
tcpMeta2.validation();
} catch (ParallelTaskInvalidException e) {
logger.info("expected exception {}", e.getLocalizedMessage());
}
tcpMeta3.validation();
SetAndCount sc = new SetAndCount(new HashSet<String>());
sc.toString();
// udp meta validation
UdpMeta udpMeta = new UdpMeta("", 80, 5, null);
udpMeta.toString();
// empty and all pass validation: test validation
UdpMeta udpMeta2 = new UdpMeta();
UdpMeta udpMeta3 = new UdpMeta("", 80, 5, TcpUdpSshPingResourceStore
.getInstance().getDatagramChannelFactory());
// null command
try {
udpMeta2.validation();
} catch (ParallelTaskInvalidException e) {
logger.info("expected exception {}", e.getLocalizedMessage());
}
// now null port
udpMeta2.setCommand("");
try {
udpMeta2.validation();
} catch (ParallelTaskInvalidException e) {
logger.info("expected exception {}", e.getLocalizedMessage());
}
// now with null idle
udpMeta2.setUdpPort(40);
try {
udpMeta2.validation();
} catch (ParallelTaskInvalidException e) {
logger.info("expected exception {}", e.getLocalizedMessage());
}
udpMeta3.validation();
}
@Test
public void testStaticFuncUtilsClassAndMisc() {
new ParallecAppMin();
ParallecAppMin.main(null);
new BeanMapper();
new PcConstants();
new PcDateUtils();
new PcErrorMsgUtils();
new PcHttpUtils();
new PcStringUtils();
new PcTargetHostsUtils();
new PcFileNetworkIoUtils();
new PcNumberUtils();
new TaskErrorMeta(TaskErrorType.COMMAND_MANAGER_ERROR, "", null);
StrStrMap ssm = new StrStrMap(new HashMap<String, String>());
ssm.addPair(null, "");
ssm.addPair("", null);
ssm.addPair("k", "v");
// misc
new HttpRequestCreateException("", new RuntimeException());
new ParallelTaskInvalidException("", new RuntimeException());
boolean removeDuplicate = false;
PcTargetHostsUtils.getNodeListFromStringLineSeperateOrSpaceSeperate(
"a b", removeDuplicate);
PcStringUtils.printStackTrace(null);
ResponseOnSingleTask task = new ResponseOnSingleTask();
task.getHost();
logger.info("thread count {}", MonitorProvider.getInstance()
.getLiveThreadCount());
CustomTrustManager manager = new CustomTrustManager();
manager.checkClientTrusted(null, null);
manager.checkServerTrusted(null, null);
manager.getAcceptedIssuers();
ActorConfig.getTimeoutduration();
ActorConfig.shutDownActorSystemForce();
ActorConfig.shutDownActorSystemForce();
TcpUdpSshPingResourceStore.getInstance().shutdown();
TcpUdpSshPingResourceStore.getInstance().shutdown();
}
@Test
public void testPollerException() {
//test poller
HttpPollerProcessor poller = new HttpPollerProcessor();
ResponseOnSingeRequest res = new ResponseOnSingeRequest();
res.setResponseBody("status/01218");
res.setFailObtainResponse(false);
poller.setSuccessRegex(null);
poller.setProgressRegex(null);
try{
poller.ifTaskCompletedSuccessOrFailureFromResponse(res);
}catch(Exception e){
logger.info("expected ", e);
}
try{
poller.ifTaskCompletedSuccessOrFailureFromResponse(res);
}catch(Exception e){
logger.info("expected ", e);
}
poller.getProgressFromResponse(new ResponseOnSingeRequest());
}
@Test
public void testPollerNotMatch() {
//test poller
HttpPollerProcessor poller = new HttpPollerProcessor();
ResponseOnSingeRequest res = new ResponseOnSingeRequest();
res.setResponseBody("status/01218");
poller.setSuccessRegex("testregex");
res.setFailObtainResponse(false);
String progressRegex = ".*\"pr111ogress\"\\s*:\\s*([0-9]*).*}";
String failureRegex = ".*\"error\"\\s*:\\s*(.*).*}";
poller.setProgressRegex(progressRegex);
poller.setFailureRegex(failureRegex);
logger.info("completed (with failure): {} ",poller.ifTaskCompletedSuccessOrFailureFromResponse(res));
logger.info("fail to match progress (should be 0): {} ",poller.getProgressFromResponse(res));
}
@Test
public void testPoller() {
//test poller
HttpPollerProcessor poller = new HttpPollerProcessor();
poller.ifTaskCompletedSuccessOrFailureFromResponse(null);
poller.ifTaskCompletedSuccessOrFailureFromResponse(new ResponseOnSingeRequest());
poller.ifThereIsErrorInResponse(null);
poller.getProgressFromResponse(null);
poller.getProgressFromResponse(new ResponseOnSingeRequest());
}
}