+ @Test
+ public void testBgpExtendedMessageCapability() {
+ this.clientSession.channelActive(null);
+ assertEquals(1, this.receivedMsgs.size());
+ assertTrue(this.receivedMsgs.get(0) instanceof Open);
+
+ final List<BgpParameters> tlvs = Lists.newArrayList();
+ final List<OptionalCapabilities> capas = Lists.newArrayList();
+ capas.add(new OptionalCapabilitiesBuilder().setCParameters(new CParametersBuilder().addAugmentation(CParameters1.class,
+ new CParameters1Builder().setMultiprotocolCapability(new MultiprotocolCapabilityBuilder()
+ .setAfi(this.ipv4tt.getAfi()).setSafi(this.ipv4tt.getSafi()).build()).build()).build()).build());
+ capas.add(new OptionalCapabilitiesBuilder().setCParameters(new CParametersBuilder().setAs4BytesCapability(
+ new As4BytesCapabilityBuilder().setAsNumber(new AsNumber(30L)).build()).build()).build());
+ tlvs.add(new BgpParametersBuilder().setOptionalCapabilities(capas).build());
+ this.clientSession.handleMessage(new OpenBuilder().setMyAsNumber(30).setHoldTimer(1).setVersion(
+ new ProtocolVersion((short) 4)).setBgpParameters(tlvs).setBgpIdentifier(new Ipv4Address("1.1.1.2")).build());
+ assertEquals(2, this.receivedMsgs.size());
+ assertTrue(this.receivedMsgs.get(1) instanceof Keepalive);
+
+ }
+