*/
package org.opendaylight.protocol.bgp.parser.spi;
-import static org.opendaylight.protocol.bgp.parser.spi.PathIdUtil.NON_PATH_ID;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev200120.PathId;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.common.Uint32;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
-import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
-import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
+import org.opendaylight.yangtools.yang.data.spi.node.ImmutableNodes;
-public class PathIdUtilTest {
-
- private ByteBuf buffer;
-
- @Before
- public void setUp() {
- this.buffer = Unpooled.buffer();
- }
+class PathIdUtilTest {
+ private final ByteBuf buffer = Unpooled.buffer();
@Test
- public void testWritePathIdNull() {
- PathIdUtil.writePathId(null, this.buffer);
- Assert.assertEquals(0, this.buffer.readableBytes());
+ void testWritePathIdNull() {
+ PathIdUtil.writePathId(null, buffer);
+ assertEquals(0, buffer.readableBytes());
}
@Test
- public void testWritePathIdZero() {
- PathIdUtil.writePathId(NON_PATH_ID, this.buffer);
- Assert.assertEquals(0, this.buffer.readableBytes());
+ void testWritePathIdZero() {
+ PathIdUtil.writePathId(PathIdUtil.NON_PATH_ID, buffer);
+ assertEquals(0, buffer.readableBytes());
}
@Test
- public void testWritePathId() {
- PathIdUtil.writePathId(new PathId(Uint32.TEN), this.buffer);
- Assert.assertEquals(Integer.BYTES, this.buffer.readableBytes());
+ void testWritePathId() {
+ PathIdUtil.writePathId(new PathId(Uint32.TEN), buffer);
+ assertEquals(Integer.BYTES, buffer.readableBytes());
}
@Test
- public void testReadPathId() {
- this.buffer.writeInt(10);
- final PathId pathId = PathIdUtil.readPathId(this.buffer);
- Assert.assertEquals(Uint32.TEN, pathId.getValue());
+ void testReadPathId() {
+ buffer.writeInt(10);
+ final PathId pathId = PathIdUtil.readPathId(buffer);
+ assertEquals(Uint32.TEN, pathId.getValue());
}
@Test
- public void testExtractPathId() {
+ void testExtractPathId() {
final NodeIdentifier NII = new NodeIdentifier(QName.create("urn:opendaylight:params:xml:ns:yang:bgp-inet",
"2015-03-05", "path-id").intern());
- final ContainerNode cont = Builders.containerBuilder()
+ final ContainerNode cont = ImmutableNodes.newContainerBuilder()
.withNodeIdentifier(NII)
.addChild(ImmutableNodes.leafNode(NII, Uint32.ZERO))
.build();
- Assert.assertEquals(0L, PathIdUtil.extractPathId(cont, NII).longValue());
+ assertEquals(0L, PathIdUtil.extractPathId(cont, NII).longValue());
}
-
- @Test(expected = IllegalArgumentException.class)
- public void testReadPathIdBufferNull() {
- PathIdUtil.readPathId(null);
+ @Test
+ void testReadPathIdBufferNull() {
+ assertThrows(IllegalArgumentException.class, () -> PathIdUtil.readPathId(null));
}
- @Test(expected = IllegalArgumentException.class)
- public void testReadPathIdBufferEmpty() {
- PathIdUtil.readPathId(this.buffer);
+ @Test
+ void testReadPathIdBufferEmpty() {
+ assertThrows(IllegalArgumentException.class, () -> PathIdUtil.readPathId(buffer));
}
}
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue;
import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
import org.opendaylight.yangtools.yang.data.api.schema.builder.DataContainerNodeBuilder;
-import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
-import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
+import org.opendaylight.yangtools.yang.data.spi.node.ImmutableNodes;
public class BasePathSelectorTest {
static final RouterId ROUTER_ID2 = RouterId.forPeerId(new PeerId("bgp://127.0.0.1"));
private static final RouterId ROUTER_ID3 = RouterId.forPeerId(new PeerId("bgp://127.0.0.2"));
private final BasePathSelector selector = new BasePathSelector(20L);
private final BestPathStateImpl state = new BestPathStateImpl(createStateFromPrefMedOriginASPath().build());
- private final BaseBestPath originBestPath = new BaseBestPath(ROUTER_ID, this.state);
+ private final BaseBestPath originBestPath = new BaseBestPath(ROUTER_ID, state);
private static ContainerNode createStateFromPrefMedOrigin() {
- return Builders.containerBuilder()
+ return ImmutableNodes.newContainerBuilder()
.withNodeIdentifier(new NodeIdentifier(Attributes.QNAME))
.withChild(lowerLocalPref())
.withChild(lowerMultiExitDisc())
}
protected static DataContainerNodeBuilder<NodeIdentifier, ContainerNode> createStateFromPrefMedOriginASPath() {
- return Builders.containerBuilder()
+ return ImmutableNodes.newContainerBuilder()
.withNodeIdentifier(new NodeIdentifier(Attributes.QNAME))
.withChild(higherLocalPref())
.withChild(higherMultiExitDisc())
}
private static ContainerNode localPref(final Uint32 pref) {
- return Builders.containerBuilder()
+ return ImmutableNodes.newContainerBuilder()
.withNodeIdentifier(new NodeIdentifier(LocalPref.QNAME))
.withChild(ImmutableNodes.leafNode(QName.create(LocalPref.QNAME, "pref"), pref))
.build();
}
private static ContainerNode multiExitDisc(final Uint32 med) {
- return Builders.containerBuilder()
+ return ImmutableNodes.newContainerBuilder()
.withNodeIdentifier(new NodeIdentifier(MultiExitDisc.QNAME))
.withChild(ImmutableNodes.leafNode(QName.create(MultiExitDisc.QNAME, "med"), med))
.build();
}
private static ContainerNode origin(final BgpOrigin value) {
- return Builders.containerBuilder()
+ return ImmutableNodes.newContainerBuilder()
.withNodeIdentifier(new NodeIdentifier(Origin.QNAME))
.withChild(ImmutableNodes.leafNode(QName.create(Origin.QNAME, "value"), value.getName()))
.build();
}
private static ContainerNode asPath(final List<Uint32> segment) {
- return Builders.containerBuilder()
+ return ImmutableNodes.newContainerBuilder()
.withNodeIdentifier(new NodeIdentifier(AsPath.QNAME))
- .withChild(Builders.unkeyedListBuilder()
+ .withChild(ImmutableNodes.newUnkeyedListBuilder()
.withNodeIdentifier(new NodeIdentifier(Segments.QNAME))
- .withChild(Builders.unkeyedListEntryBuilder()
+ .withChild(ImmutableNodes.newUnkeyedListEntryBuilder()
.withNodeIdentifier(new NodeIdentifier(Segments.QNAME))
- .withChild(Builders.orderedLeafSetBuilder()
+ .withChild(ImmutableNodes.newUserLeafSetBuilder()
.withNodeIdentifier(new NodeIdentifier(AS_SEQUENCE))
- .withValue(Lists.transform(segment, asn -> Builders.leafSetEntryBuilder()
+ .withValue(Lists.transform(segment, asn -> ImmutableNodes.newLeafSetEntryBuilder()
.withNodeIdentifier(new NodeWithValue<>(AS_SEQUENCE, asn))
.withValue(asn)
.build()))
@Test
public void testBestPathWithHigherLocalPref() {
// local-pref 123
- this.selector.processPath(ROUTER_ID2, createStateFromPrefMedOrigin());
- BaseBestPath processedPath = this.selector.result();
+ selector.processPath(ROUTER_ID2, createStateFromPrefMedOrigin());
+ BaseBestPath processedPath = selector.result();
assertEquals(Uint32.valueOf(123), processedPath.getState().getLocalPref());
// local-pref 321
- this.selector.processPath(ROUTER_ID2, createStateFromPrefMedOriginASPath().build());
- processedPath = this.selector.result();
+ selector.processPath(ROUTER_ID2, createStateFromPrefMedOriginASPath().build());
+ processedPath = selector.result();
assertEquals(Uint32.valueOf(321), processedPath.getState().getLocalPref());
- this.selector.processPath(ROUTER_ID2, Builders.containerBuilder()
+ selector.processPath(ROUTER_ID2, ImmutableNodes.newContainerBuilder()
.withNodeIdentifier(new NodeIdentifier(Attributes.QNAME))
// prefer path with higher LOCAL_PREF
.withChild(lowerLocalPref())
.build());
- processedPath = this.selector.result();
+ processedPath = selector.result();
assertEquals(Uint32.valueOf(321), processedPath.getState().getLocalPref());
}
@Test
public void testBestPathForEquality() {
- this.selector.processPath(ROUTER_ID2, createStateFromPrefMedOriginASPath().build());
- final BaseBestPath processedPath = this.selector.result();
+ selector.processPath(ROUTER_ID2, createStateFromPrefMedOriginASPath().build());
+ final BaseBestPath processedPath = selector.result();
- assertEquals(this.originBestPath.getPeerId(), processedPath.getPeerId());
- assertEquals(this.originBestPath.getState().getLocalPref(), processedPath.getState().getLocalPref());
- assertEquals(this.originBestPath.getState().getMultiExitDisc(), processedPath.getState().getMultiExitDisc());
- assertEquals(this.originBestPath.getState().getOrigin(), processedPath.getState().getOrigin());
- assertEquals(this.originBestPath.getState().getPeerAs(), processedPath.getState().getPeerAs());
- assertEquals(this.originBestPath.getState().getAsPathLength(), processedPath.getState().getAsPathLength());
+ assertEquals(originBestPath.getPeerId(), processedPath.getPeerId());
+ assertEquals(originBestPath.getState().getLocalPref(), processedPath.getState().getLocalPref());
+ assertEquals(originBestPath.getState().getMultiExitDisc(), processedPath.getState().getMultiExitDisc());
+ assertEquals(originBestPath.getState().getOrigin(), processedPath.getState().getOrigin());
+ assertEquals(originBestPath.getState().getPeerAs(), processedPath.getState().getPeerAs());
+ assertEquals(originBestPath.getState().getAsPathLength(), processedPath.getState().getAsPathLength());
}
@Test
public void testBestPathSelectionOptions() {
DataContainerNodeBuilder<NodeIdentifier, ContainerNode> dataContBuilder = createStateFromPrefMedOriginASPath();
- this.selector.processPath(ROUTER_ID2, dataContBuilder.build());
- BaseBestPath processedPath = this.selector.result();
+ selector.processPath(ROUTER_ID2, dataContBuilder.build());
+ BaseBestPath processedPath = selector.result();
assertEquals(BgpOrigin.Egp, processedPath.getState().getOrigin());
// prefer the path with the lowest origin type
- this.selector.processPath(ROUTER_ID2, dataContBuilder.withChild(igpOrigin()).build());
- processedPath = this.selector.result();
+ selector.processPath(ROUTER_ID2, dataContBuilder.withChild(igpOrigin()).build());
+ processedPath = selector.result();
assertEquals(BgpOrigin.Igp, processedPath.getState().getOrigin());
- this.selector.processPath(ROUTER_ID2, dataContBuilder.withChild(egpOrigin()).build());
- processedPath = this.selector.result();
+ selector.processPath(ROUTER_ID2, dataContBuilder.withChild(egpOrigin()).build());
+ processedPath = selector.result();
assertEquals(BgpOrigin.Igp, processedPath.getState().getOrigin());
assertEquals(4321L, processedPath.getState().getMultiExitDisc());
// prefer the path with the lowest multi-exit discriminator (MED)
- this.selector.processPath(ROUTER_ID2, dataContBuilder
+ selector.processPath(ROUTER_ID2, dataContBuilder
.withChild(igpOrigin())
.withChild(lowerMultiExitDisc())
.build());
- processedPath = this.selector.result();
+ processedPath = selector.result();
assertEquals(1234L, processedPath.getState().getMultiExitDisc());
- this.selector.processPath(ROUTER_ID2, dataContBuilder.withChild(higherMultiExitDisc()).build());
- processedPath = this.selector.result();
+ selector.processPath(ROUTER_ID2, dataContBuilder.withChild(higherMultiExitDisc()).build());
+ processedPath = selector.result();
assertEquals(1234L, processedPath.getState().getMultiExitDisc());
assertEquals(1L, processedPath.getState().getPeerAs());
assertEquals(3, processedPath.getState().getAsPathLength());
- this.selector.processPath(ROUTER_ID2, dataContBuilder
+ selector.processPath(ROUTER_ID2, dataContBuilder
.withChild(lowerMultiExitDisc())
.withChild(asPath(SEQ_SEGMENT2))
.build());
- processedPath = this.selector.result();
+ processedPath = selector.result();
assertEquals(1L, processedPath.getState().getPeerAs());
assertEquals(3, processedPath.getState().getAsPathLength());
}
@Test
public void testBestPathForNonEquality() {
- this.selector.processPath(ROUTER_ID3, createStateFromPrefMedOrigin());
- final BaseBestPath processedPath = this.selector.result();
+ selector.processPath(ROUTER_ID3, createStateFromPrefMedOrigin());
+ final BaseBestPath processedPath = selector.result();
- assertNotEquals(this.originBestPath.getPeerId(), processedPath.getPeerId());
- assertNotEquals(this.originBestPath.getState().getLocalPref(), processedPath.getState().getLocalPref());
- assertNotEquals(this.originBestPath.getState().getMultiExitDisc(), processedPath.getState().getMultiExitDisc());
- assertNotEquals(this.originBestPath.getState().getOrigin(), processedPath.getState().getOrigin());
- assertNotEquals(this.originBestPath.getState().getPeerAs(), processedPath.getState().getPeerAs());
- assertNotEquals(this.originBestPath.getState().getAsPathLength(), processedPath.getState().getAsPathLength());
+ assertNotEquals(originBestPath.getPeerId(), processedPath.getPeerId());
+ assertNotEquals(originBestPath.getState().getLocalPref(), processedPath.getState().getLocalPref());
+ assertNotEquals(originBestPath.getState().getMultiExitDisc(), processedPath.getState().getMultiExitDisc());
+ assertNotEquals(originBestPath.getState().getOrigin(), processedPath.getState().getOrigin());
+ assertNotEquals(originBestPath.getState().getPeerAs(), processedPath.getState().getPeerAs());
+ assertNotEquals(originBestPath.getState().getAsPathLength(), processedPath.getState().getAsPathLength());
}
@Test
public void testBgpOrigin() {
- this.selector.processPath(ROUTER_ID3, Builders.containerBuilder()
+ selector.processPath(ROUTER_ID3, ImmutableNodes.newContainerBuilder()
.withNodeIdentifier(new NodeIdentifier(Attributes.QNAME))
.withChild(origin(BgpOrigin.Incomplete))
.build());
- final BaseBestPath processedPathIncom = this.selector.result();
+ final BaseBestPath processedPathIncom = selector.result();
assertEquals(BgpOrigin.Incomplete, processedPathIncom.getState().getOrigin());
}
}