@Test public void serverSessionOK() throws Exception { DefaultSmppServer server0 = createSmppServer(); server0.start(); try { DefaultSmppClient client0 = new DefaultSmppClient(); SmppSessionConfiguration sessionConfig0 = createDefaultConfiguration(); // this should actually work SmppSession session0 = client0.bind(sessionConfig0); Thread.sleep(100); SmppServerSession serverSession0 = serverHandler.sessions.iterator().next(); Assert.assertEquals(1, serverHandler.sessions.size()); Assert.assertEquals(1, server0.getChannels().size()); Assert.assertEquals(true, serverSession0.isBound()); Assert.assertEquals(SmppBindType.TRANSCEIVER, serverSession0.getBindType()); Assert.assertEquals(SmppSession.Type.SERVER, serverSession0.getLocalType()); Assert.assertEquals(SmppSession.Type.CLIENT, serverSession0.getRemoteType()); serverSession0.close(); Thread.sleep(200); Assert.assertEquals(0, serverHandler.sessions.size()); Assert.assertEquals(0, server0.getChannels().size()); Assert.assertEquals(false, serverSession0.isBound()); } finally { server0.destroy(); } }
@Test public void serverSessionBindVersion33() throws Exception { DefaultSmppServer server0 = createSmppServer(); server0.start(); try { DefaultSmppClient client0 = new DefaultSmppClient(); SmppSessionConfiguration sessionConfig0 = createDefaultConfiguration(); // set back to version 3.3 sessionConfig0.setInterfaceVersion(SmppConstants.VERSION_3_3); // we will not use the proper method of binding since we need to // access the bind response to verify it's correct DefaultSmppSession session0 = client0.doOpen(sessionConfig0, new DefaultSmppSessionHandler()); // create a bind request based on this config BaseBind bindRequest = client0.createBindRequest(sessionConfig0); // execute a bind request and wait for a bind response BaseBindResp bindResponse = session0.bind(bindRequest, 200); Thread.sleep(100); SmppServerSession serverSession0 = serverHandler.sessions.iterator().next(); Assert.assertEquals(1, serverHandler.sessions.size()); Assert.assertEquals(1, server0.getChannels().size()); Assert.assertEquals(true, serverSession0.isBound()); Assert.assertEquals(SmppBindType.TRANSCEIVER, serverSession0.getBindType()); Assert.assertEquals(SmppSession.Type.SERVER, serverSession0.getLocalType()); Assert.assertEquals(SmppSession.Type.CLIENT, serverSession0.getRemoteType()); // verify "requested" version is still 3.3 Assert.assertEquals( SmppConstants.VERSION_3_3, serverSession0.getConfiguration().getInterfaceVersion()); // verify the session interface version is normalized to 3.3 Assert.assertEquals(SmppConstants.VERSION_3_3, serverSession0.getInterfaceVersion()); Assert.assertEquals(false, serverSession0.areOptionalParametersSupported()); // verify client session version settings are correct Assert.assertEquals((byte) 0x33, session0.getConfiguration().getInterfaceVersion()); Assert.assertEquals((byte) 0x33, session0.getInterfaceVersion()); Assert.assertEquals(false, session0.areOptionalParametersSupported()); // verify NO optional parameters were included in bind response Assert.assertEquals(0, bindResponse.getOptionalParameterCount()); Assert.assertEquals("cloudhopper", bindResponse.getSystemId()); serverSession0.close(); Thread.sleep(200); Assert.assertEquals(0, serverHandler.sessions.size()); Assert.assertEquals(0, server0.getChannels().size()); Assert.assertEquals(false, serverSession0.isBound()); } finally { server0.destroy(); } }
@Override public void sessionCreated( Long sessionId, SmppServerSession session, BaseBindResp preparedBindResponse) throws SmppProcessingException { logger.info("Session created: {} " + session); // need to do something it now (flag we're ready) session.serverReady(new TestSmppSessionHandler(session)); smppServerSession = session; if (smppServerSession.isClosed()) { logger.info("********Session Closed*******"); } else if (smppServerSession.isOpen()) { logger.info("********Session Open*******"); } else if (smppServerSession.isBinding()) { logger.info("********Session Binding*******"); smppServerSession = session; } else if (smppServerSession.isBound()) { logger.info("********Session Bound*******"); smppServerSession = session; linkEstablished = true; } }