@Override
    protected void doStart() throws Exception {
        LOG.debug("Connecting to: {}...", getEndpoint().getConnectionString());

        super.doStart();
        session = createSession();

        LOG.info("Connected to: {}", getEndpoint().getConnectionString());
    }
@Test
    public void doStartShouldStartANewSmppSession() throws Exception {
        when(endpoint.getConnectionString())
                .thenReturn("smpp://smppclient@localhost:2775");
        BindParameter expectedBindParameter = new BindParameter(
                BindType.BIND_RX,
                "smppclient",
                "password",
                "cp",
                TypeOfNumber.UNKNOWN,
                NumberingPlanIndicator.UNKNOWN,
                "");
        when(session.connectAndBind("localhost", Integer.valueOf(2775), expectedBindParameter))
                .thenReturn("1");

        consumer.doStart();

        verify(session).setEnquireLinkTimer(60000);
        verify(session).setTransactionTimer(10000);
        verify(session).addSessionStateListener(isA(SessionStateListener.class));
        verify(session).setMessageReceiverListener(isA(MessageReceiverListener.class));
        verify(session).connectAndBind("localhost", Integer.valueOf(2775), expectedBindParameter);
    }