SCMPClnSubscribeCall subscribeCall = new SCMPClnSubscribeCall(this.requester, TestConstants.pubServerName1);
subscribeCall.setSessionInfo(TestConstants.sleepCmd);
subscribeCall.setNoDataIntervalSeconds(10);
subscribeCall.setMask(TestConstants.mask);
TestCallback cbk = new TestCallback();
TestCallback cbk1 = new TestCallback();
subscribeCall.setRequestBody("3000");
subscribeCall.invoke(cbk, 5000);
subscribeCall.invoke(cbk1, 5000);
Thread.sleep(100);
subscribeCall = new SCMPClnSubscribeCall(this.requester, TestConstants.pubServerName1);
subscribeCall.setNoDataIntervalSeconds(10);
subscribeCall.setMask(TestConstants.mask);
TestCallback cbk3 = new TestCallback();
subscribeCall.invoke(cbk3, 2000);
SCMPMessage reply = cbk.getMessageSync(5000);
SCMPMessage reply1 = cbk1.getMessageSync(4000);
SCMPMessage reply3 = cbk3.getMessageSync(4000);
String sessionId = reply.getSessionId();
TestUtil.checkReply(reply);
TestUtil.checkReply(reply1);
Assert.assertTrue(reply3.isFault());
TestUtil.verifyError(reply3, SCMPError.NO_FREE_SERVER, SCMPMsgType.CLN_SUBSCRIBE);
SCMPClnUnsubscribeCall unSubscribeCall = new SCMPClnUnsubscribeCall(this.requester, TestConstants.pubServerName1, sessionId);
cbk = new TestCallback();
unSubscribeCall.invoke(cbk, 4000);
TestUtil.checkReply(cbk.getMessageSync(4000));
}