import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.fail;
+
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
-
import org.junit.Test;
import org.opendaylight.protocol.util.ByteArray;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.next.hop.c.next.hop.Ipv6NextHopCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.next.hop.c.next.hop.ipv4.next.hop._case.Ipv4NextHopBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.next.hop.c.next.hop.ipv6.next.hop._case.Ipv6NextHopBuilder;
+import org.opendaylight.yangtools.yang.binding.DataContainer;
public class NextHopUtilTest {
NextHopUtil.serializeNextHop(hop, buffer);
assertArrayEquals(ipv6lB, ByteArray.readAllBytes(buffer));
+ buffer.clear();
+ NextHopUtil.serializeNextHop(new CNextHop() {
+
+ @Override
+ public Class<? extends DataContainer> getImplementedInterface() {
+ return null;
+ }
+ }, buffer);
+ assertEquals(0, buffer.readableBytes());
+
hop = new Ipv6NextHopCaseBuilder().setIpv6NextHop(new Ipv6NextHopBuilder().setLinkLocal(ipv6l).build()).build();
buffer.clear();
try {
@Test
public void testAddNode() {
+ this.builder.setAdvertizedRoutes(new AdvertizedRoutesBuilder().setDestinationType(
+ new DestinationLinkstateCaseBuilder().build()).build());
+ this.lrib.addRoutes(this.adjRibTx, this.peer, this.builder.build(), null);
+
this.dBuilder.setNlriType(NlriType.Node);
this.dBuilder.setRemoteNodeDescriptors(new RemoteNodeDescriptorsBuilder().setCRouterIdentifier(
new IsisPseudonodeCaseBuilder().setIsisPseudonode(
new DestinationLinkstateBuilder().setCLinkstateDestination(this.destinations).build()).build()).build());
final PathAttributesBuilder pa = new PathAttributesBuilder();
- pa.setOrigin(new OriginBuilder().setValue(BgpOrigin.Egp).build());
this.lrib.addRoutes(this.adjRibTx, this.peer, this.builder.build(), pa.build());
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev131125.update.path.attributes.mp.reach.nlri.advertized.routes.destination.type.destination.linkstate._case.DestinationLinkstateBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130919.update.PathAttributesBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.PathAttributes1Builder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.PathAttributes2;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.PathAttributes2Builder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.destination.destination.type.DestinationIpv4CaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.destination.destination.type.DestinationIpv6CaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.update.path.attributes.MpReachNlriBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.update.path.attributes.MpUnreachNlriBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.update.path.attributes.mp.reach.nlri.AdvertizedRoutesBuilder;
Lists.newArrayList(new CLinkstateDestinationBuilder().setNlriType(type).build())).build()).build()).build()).build()).build());
}
+ @Test
+ public void testGetNlriType() throws BGPParsingException {
+ final ByteBuf b = Unpooled.buffer();
+ PathAttributesBuilder builder = new PathAttributesBuilder();
+ this.parser.parseAttribute(b, builder);
+ assertEquals(0, b.readableBytes());
+ builder = new PathAttributesBuilder();
+
+ final PathAttributes1Builder builder1 = new PathAttributes1Builder();
+ builder.addAugmentation(PathAttributes1.class, builder1.build());
+ this.parser.parseAttribute(b, builder);
+ assertEquals(0, b.readableBytes());
+ builder = new PathAttributesBuilder();
+
+ builder.addAugmentation(PathAttributes1.class, builder1.setMpReachNlri(
+ new MpReachNlriBuilder().setAdvertizedRoutes(new AdvertizedRoutesBuilder().setDestinationType(new DestinationIpv4CaseBuilder().build()).build()).build()).build());
+ this.parser.parseAttribute(b, builder);
+ assertEquals(0, b.readableBytes());
+ builder = new PathAttributesBuilder();
+
+ final PathAttributes2Builder builder2 = new PathAttributes2Builder();
+ builder.addAugmentation(PathAttributes2.class, builder2.build());
+ this.parser.parseAttribute(b, builder);
+ assertEquals(0, b.readableBytes());
+ builder = new PathAttributesBuilder();
+
+ builder.addAugmentation(PathAttributes2.class, builder2.setMpUnreachNlri(
+ new MpUnreachNlriBuilder().setWithdrawnRoutes(new WithdrawnRoutesBuilder().setDestinationType(new DestinationIpv6CaseBuilder().build()).build()).build()).build());
+ this.parser.parseAttribute(b, builder);
+ assertEquals(0, b.readableBytes());
+ }
+
@Test
public void testPositiveLinks() throws BGPParsingException {
final PathAttributesBuilder builder = createBuilder(NlriType.Link);