X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=bgp%2Frib-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fprotocol%2Fbgp%2Frib%2Fimpl%2FBGPSessionImplTest.java;h=e694f03b377354ab54449084701f754ad94def94;hb=9e9d31be714733168d07b7af9a80de457fe0b1ef;hp=717d0c3a1baa916c6d7b8826f7661a53b9ff65e0;hpb=686f70fe4dae0133c7f4a7efd4ceaf71cbe96879;p=bgpcep.git diff --git a/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/BGPSessionImplTest.java b/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/BGPSessionImplTest.java index 717d0c3a1b..e694f03b37 100644 --- a/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/BGPSessionImplTest.java +++ b/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/BGPSessionImplTest.java @@ -39,6 +39,7 @@ import org.mockito.MockitoAnnotations; import org.mockito.invocation.InvocationOnMock; import org.mockito.stubbing.Answer; import org.opendaylight.controller.config.yang.bgp.rib.impl.BgpSessionState; +import org.opendaylight.protocol.bgp.parser.BGPDocumentedException; import org.opendaylight.protocol.bgp.parser.BGPError; import org.opendaylight.protocol.bgp.parser.BgpExtendedMessageUtil; import org.opendaylight.protocol.bgp.parser.BgpTableTypeImpl; @@ -135,56 +136,60 @@ public class BGPSessionImplTest { } }).when(this.eventLoop).schedule(Mockito.any(Runnable.class), Mockito.any(long.class), Mockito.any(TimeUnit.class)); doReturn("TestingChannel").when(this.speakerListener).toString(); + doReturn(true).when(this.speakerListener).isWritable(); doReturn(new InetSocketAddress(InetAddress.getByName(BGP_ID.getValue()), 179)).when(this.speakerListener).remoteAddress(); doReturn(new InetSocketAddress(InetAddress.getByName(LOCAL_IP), LOCAL_PORT)).when(this.speakerListener).localAddress(); doReturn(this.pipeline).when(this.speakerListener).pipeline(); doReturn(this.pipeline).when(this.pipeline).replace(Mockito.any(ChannelHandler.class), Mockito.any(String.class), Mockito.any(ChannelHandler.class)); doReturn(null).when(this.pipeline).replace(Matchers.>any(), Mockito.any(String.class), Mockito.any(ChannelHandler.class)); doReturn(this.pipeline).when(this.pipeline).addLast(Mockito.any(ChannelHandler.class)); - doReturn(mock(ChannelFuture.class)).when(this.speakerListener).close(); + final ChannelFuture futureChannel = mock(ChannelFuture.class); + doReturn(null).when(futureChannel).addListener(Mockito.>>any()); + doReturn(futureChannel).when(this.speakerListener).close(); this.listener = new SimpleSessionListener(); this.bgpSession = new BGPSessionImpl(this.listener, this.speakerListener, this.classicOpen, this.classicOpen.getHoldTimer(), null); } @Test - public void testBGPSession() { + public void testBGPSession() throws BGPDocumentedException { this.bgpSession.sessionUp(); assertEquals(BGPSessionImpl.State.UP, this.bgpSession.getState()); assertEquals(AS_NUMBER, this.bgpSession.getAsNumber()); assertEquals(BGP_ID, this.bgpSession.getBgpId()); assertEquals(1, this.bgpSession.getAdvertisedTableTypes().size()); - assertTrue(this.listener.up); + Assert.assertEquals(BGPSessionImpl.State.UP, this.listener.getState()); + //test stats - final BgpSessionState state = this.bgpSession.getBgpSesionState(); + final BgpSessionState state = this.bgpSession.getBgpSessionState(); assertEquals(HOLD_TIMER, state.getHoldtimeCurrent().intValue()); assertEquals(1, state.getKeepaliveCurrent().intValue()); assertEquals(BGPSessionImpl.State.UP.name(), state.getSessionState()); - assertEquals(BGP_ID.getValue(), state.getPeerPreferences().getAddress()); - assertEquals(AS_NUMBER.getValue(), state.getPeerPreferences().getAs()); - assertTrue(state.getPeerPreferences().getBgpExtendedMessageCapability()); - assertEquals(BGP_ID.getValue(), state.getPeerPreferences().getBgpId()); - assertEquals(1, state.getPeerPreferences().getAdvertizedTableTypes().size()); - assertEquals(HOLD_TIMER, state.getPeerPreferences().getHoldtime().intValue()); - assertTrue(state.getPeerPreferences().getFourOctetAsCapability().booleanValue()); - assertTrue(state.getPeerPreferences().getBgpExtendedMessageCapability().booleanValue()); - assertTrue(state.getPeerPreferences().getGrCapability()); - assertEquals(LOCAL_IP, state.getSpeakerPreferences().getAddress()); - assertEquals(LOCAL_PORT, state.getSpeakerPreferences().getPort().intValue()); - assertEquals(0, state.getMessagesStats().getTotalMsgs().getReceived().getCount().longValue()); - assertEquals(0, state.getMessagesStats().getTotalMsgs().getSent().getCount().longValue()); + assertEquals(BGP_ID.getValue(), new String(state.getLocalPeerPreferences().getHost().getValue())); + assertEquals(AS_NUMBER.getValue(), state.getLocalPeerPreferences().getAs()); + assertTrue(state.getLocalPeerPreferences().getBgpExtendedMessageCapability()); + assertEquals(BGP_ID.getValue(), state.getLocalPeerPreferences().getBgpId().getValue()); + assertEquals(1, state.getLocalPeerPreferences().getAdvertizedTableTypes().size()); + assertEquals(HOLD_TIMER, state.getLocalPeerPreferences().getHoldtimer().intValue()); + assertTrue(state.getLocalPeerPreferences().getFourOctetAsCapability().booleanValue()); + assertTrue(state.getLocalPeerPreferences().getBgpExtendedMessageCapability().booleanValue()); + assertTrue(state.getLocalPeerPreferences().getGrCapability()); + assertEquals(LOCAL_IP, new String(state.getRemotePeerPreferences().getHost().getValue())); + assertEquals(LOCAL_PORT, state.getRemotePeerPreferences().getPort().getValue().intValue()); + assertEquals(0, state.getMessagesStats().getTotalMsgs().getReceived().getCount().getValue().longValue()); + assertEquals(0, state.getMessagesStats().getTotalMsgs().getSent().getCount().getValue().longValue()); this.bgpSession.handleMessage(new UpdateBuilder().build()); assertEquals(1, this.listener.getListMsg().size()); assertTrue(this.listener.getListMsg().get(0) instanceof Update); - assertEquals(1, state.getMessagesStats().getTotalMsgs().getReceived().getCount().longValue()); - assertEquals(1, state.getMessagesStats().getUpdateMsgs().getReceived().getCount().longValue()); - assertEquals(0, state.getMessagesStats().getUpdateMsgs().getSent().getCount().longValue()); + assertEquals(1, state.getMessagesStats().getTotalMsgs().getReceived().getCount().getValue().longValue()); + assertEquals(1, state.getMessagesStats().getUpdateMsgs().getReceived().getCount().getValue().longValue()); + assertEquals(0, state.getMessagesStats().getUpdateMsgs().getSent().getCount().getValue().longValue()); this.bgpSession.handleMessage(new KeepaliveBuilder().build()); this.bgpSession.handleMessage(new KeepaliveBuilder().build()); - assertEquals(3, state.getMessagesStats().getTotalMsgs().getReceived().getCount().longValue()); - assertEquals(2, state.getMessagesStats().getKeepAliveMsgs().getReceived().getCount().longValue()); - assertEquals(0, state.getMessagesStats().getKeepAliveMsgs().getSent().getCount().longValue()); + assertEquals(3, state.getMessagesStats().getTotalMsgs().getReceived().getCount().getValue().longValue()); + assertEquals(2, state.getMessagesStats().getKeepAliveMsgs().getReceived().getCount().getValue().longValue()); + assertEquals(0, state.getMessagesStats().getKeepAliveMsgs().getSent().getCount().getValue().longValue()); this.bgpSession.close(); assertEquals(BGPSessionImpl.State.IDLE, this.bgpSession.getState()); @@ -194,20 +199,21 @@ public class BGPSessionImplTest { assertEquals(BGPError.CEASE.getCode(), error.getErrorCode().shortValue()); assertEquals(BGPError.CEASE.getSubcode(), error.getErrorSubcode().shortValue()); Mockito.verify(this.speakerListener).close(); - assertEquals(3, state.getMessagesStats().getTotalMsgs().getReceived().getCount().longValue()); - assertEquals(1, state.getMessagesStats().getTotalMsgs().getSent().getCount().longValue()); - assertEquals(1, state.getMessagesStats().getErrorMsgs().getErrorSent().getCount().longValue()); - assertEquals(BGPError.CEASE.getCode(), state.getMessagesStats().getErrorMsgs().getErrorSent().getCode().shortValue()); - assertEquals(BGPError.CEASE.getSubcode(), state.getMessagesStats().getErrorMsgs().getErrorSent().getSubCode().shortValue()); + assertEquals(3, state.getMessagesStats().getTotalMsgs().getReceived().getCount().getValue().longValue()); + assertEquals(1, state.getMessagesStats().getTotalMsgs().getSent().getCount().getValue().longValue()); + assertEquals(1, state.getMessagesStats().getErrorMsgs().getErrorSentTotal().getCount().getValue().longValue()); + assertEquals(1, state.getMessagesStats().getErrorMsgs().getErrorSent().get(0).getCount().getValue().longValue()); + assertEquals(BGPError.CEASE.getCode(), state.getMessagesStats().getErrorMsgs().getErrorSent().get(0).getErrorCode().shortValue()); + assertEquals(BGPError.CEASE.getSubcode(), state.getMessagesStats().getErrorMsgs().getErrorSent().get(0).getErrorSubcode().shortValue()); this.bgpSession.resetSessionStats(); - assertEquals(0, state.getMessagesStats().getTotalMsgs().getReceived().getCount().longValue()); - assertEquals(0, state.getMessagesStats().getTotalMsgs().getSent().getCount().longValue()); - assertEquals(0, state.getMessagesStats().getErrorMsgs().getErrorSent().getCount().longValue()); + assertEquals(0, state.getMessagesStats().getTotalMsgs().getReceived().getCount().getValue().longValue()); + assertEquals(0, state.getMessagesStats().getTotalMsgs().getSent().getCount().getValue().longValue()); + assertEquals(0, state.getMessagesStats().getErrorMsgs().getErrorSentTotal().getCount().getValue().longValue()); } @Test - public void testHandleOpenMsg() { + public void testHandleOpenMsg() throws BGPDocumentedException { this.bgpSession.handleMessage(this.classicOpen); Assert.assertEquals(BGPSessionImpl.State.IDLE, this.bgpSession.getState()); Assert.assertEquals(1, this.receivedMsgs.size()); @@ -219,21 +225,23 @@ public class BGPSessionImplTest { } @Test - public void testHandleNotifyMsg() { + public void testHandleNotifyMsg() throws BGPDocumentedException { this.bgpSession.handleMessage(new NotifyBuilder().setErrorCode(BGPError.BAD_BGP_ID.getCode()).setErrorSubcode(BGPError.BAD_BGP_ID.getSubcode()).build()); - assertEquals(1, this.bgpSession.getBgpSesionState().getMessagesStats().getErrorMsgs().getErrorReceived().getCount().longValue()); - assertEquals(BGPError.BAD_BGP_ID.getCode(), this.bgpSession.getBgpSesionState().getMessagesStats().getErrorMsgs().getErrorReceived().getCode().shortValue()); - assertEquals(BGPError.BAD_BGP_ID.getSubcode(), this.bgpSession.getBgpSesionState().getMessagesStats().getErrorMsgs().getErrorReceived().getSubCode().shortValue()); + assertEquals(1, this.bgpSession.getBgpSessionState().getMessagesStats().getErrorMsgs().getErrorReceivedTotal().getCount().getValue().longValue()); + assertEquals(1, this.bgpSession.getBgpSessionState().getMessagesStats().getErrorMsgs().getErrorReceived().get(0).getCount().getValue().longValue()); + assertEquals(BGPError.BAD_BGP_ID.getCode(), this.bgpSession.getBgpSessionState().getMessagesStats().getErrorMsgs().getErrorReceived().get(0).getErrorCode().shortValue()); + assertEquals(BGPError.BAD_BGP_ID.getSubcode(), this.bgpSession.getBgpSessionState().getMessagesStats().getErrorMsgs().getErrorReceived().get(0).getErrorSubcode().shortValue()); Assert.assertEquals(BGPSessionImpl.State.IDLE, this.bgpSession.getState()); Mockito.verify(this.speakerListener).close(); } @Test - public void testEndOfInput() { + public void testEndOfInput() throws InterruptedException { this.bgpSession.sessionUp(); - Assert.assertFalse(this.listener.down); + Assert.assertEquals(BGPSessionImpl.State.UP, this.listener.getState()); this.bgpSession.endOfInput(); - Assert.assertTrue(this.listener.down); + Thread.sleep(3000); + Assert.assertEquals(BGPSessionImpl.State.IDLE, this.listener.getState()); } @Test