Modernize bgp-evpn 23/110423/1
authorRobert Varga <robert.varga@pantheon.tech>
Fri, 1 Mar 2024 20:41:41 +0000 (21:41 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Fri, 1 Mar 2024 20:41:41 +0000 (21:41 +0100)
Use data.spi.node.ImmutableNodes instead of deprecated yang-data-impl
classes.

Change-Id: I767049fb50904e4ec42a1a460a88aecb4013d68f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
bgp/extensions/evpn/pom.xml
bgp/extensions/evpn/src/test/java/org/opendaylight/protocol/bgp/evpn/impl/EvpnTestUtil.java
bgp/extensions/evpn/src/test/java/org/opendaylight/protocol/bgp/evpn/impl/esi/types/LanParserTest.java
bgp/extensions/evpn/src/test/java/org/opendaylight/protocol/bgp/evpn/impl/esi/types/RouterIdParserTest.java
bgp/extensions/evpn/src/test/java/org/opendaylight/protocol/bgp/evpn/impl/nlri/EthADRParserTest.java
bgp/extensions/evpn/src/test/java/org/opendaylight/protocol/bgp/evpn/impl/nlri/EvpnNlriParserTest.java
bgp/extensions/evpn/src/test/java/org/opendaylight/protocol/bgp/evpn/impl/nlri/SimpleEvpnNlriRegistryTest.java
bgp/extensions/evpn/src/test/java/org/opendaylight/protocol/bgp/evpn/spi/pojo/SimpleEsiTypeRegistryTest.java

index 7055c88fb5e17b84abab747c899f96ee601c2961..711f542c31023ff5602cd5c55865ec79305ce7b8 100644 (file)
             <groupId>org.opendaylight.yangtools</groupId>
             <artifactId>yang-common-netty</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.opendaylight.yangtools</groupId>
-            <artifactId>yang-data-impl</artifactId>
-        </dependency>
         <dependency>
             <groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
             <artifactId>rfc6991-ietf-yang-types</artifactId>
             <groupId>org.opendaylight.yangtools</groupId>
             <artifactId>mockito-configuration</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.opendaylight.yangtools</groupId>
+            <artifactId>yang-data-spi</artifactId>
+            <scope>test</scope>
+        </dependency>
         <dependency>
             <groupId>${project.groupId}</groupId>
             <artifactId>bgp-parser-impl</artifactId>
index 0e6cc29ac99393a3daa99229d9befa14199f1c38..88ef24ef5945776154d381c7f464c727ebf1dd88 100644 (file)
@@ -21,8 +21,7 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdent
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafNode;
 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 final class EvpnTestUtil {
     public static final int VALUE_SIZE = 9;
@@ -50,7 +49,7 @@ public final class EvpnTestUtil {
     }
 
     public static DataContainerNodeBuilder<NodeIdentifier, ContainerNode> createContBuilder(final NodeIdentifier nid) {
-        return Builders.containerBuilder().withNodeIdentifier(nid);
+        return ImmutableNodes.newContainerBuilder().withNodeIdentifier(nid);
     }
 
     public static <T> LeafNode<T> createValue(final T value, final NodeIdentifier nid) {
index 191467ca9ee086036a5d25aaab27cf1c0697025d..107ab0f30d3db3fbb100d6050dbaacf4ace4313b 100644 (file)
@@ -32,7 +32,7 @@ import org.opendaylight.yangtools.yang.common.Uint16;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
-import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
+import org.opendaylight.yangtools.yang.data.spi.node.ImmutableNodes;
 
 public class LanParserTest {
     private static final Uint16 PRIORITY = Uint16.valueOf(514);
@@ -69,7 +69,7 @@ public class LanParserTest {
     }
 
     public static ChoiceNode createLanChoice() {
-        return Builders.choiceBuilder()
+        return ImmutableNodes.newChoiceBuilder()
             .withNodeIdentifier(NodeIdentifier.create(Esi.QNAME))
             .addChild(createLanCont())
             .build();
index d297ca4a2c83b46e18ce127ea9ae8cad490b2ecd..27b3f63479984e7bd40a668cb21a52358f25c724 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.protocol.bgp.evpn.impl.esi.types;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThrows;
 import static org.opendaylight.protocol.bgp.evpn.impl.EvpnTestUtil.LD;
 import static org.opendaylight.protocol.bgp.evpn.impl.EvpnTestUtil.VALUE_SIZE;
 import static org.opendaylight.protocol.bgp.evpn.impl.EvpnTestUtil.createContBuilder;
@@ -31,7 +32,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
-import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
+import org.opendaylight.yangtools.yang.data.spi.node.ImmutableNodes;
 
 public class RouterIdParserTest {
     public static final byte[] RESULT = {(byte) 0x04, (byte) 0x2A, (byte) 0x2A, (byte) 0x2A, (byte) 0x2A, (byte) 0x02,
@@ -65,7 +66,7 @@ public class RouterIdParserTest {
     }
 
     public static ChoiceNode createRouterIdCase() {
-        return Builders.choiceBuilder()
+        return ImmutableNodes.newChoiceBuilder()
             .withNodeIdentifier(new NodeIdentifier(RouterIdGeneratedCase.QNAME))
             .addChild(createRouteContainer())
             .build();
@@ -78,8 +79,9 @@ public class RouterIdParserTest {
             .build();
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void wrongCaseTest() {
-        parser.serializeEsi(new ArbitraryCaseBuilder().build(), null);
+        assertThrows(IllegalArgumentException.class,
+            () -> parser.serializeEsi(new ArbitraryCaseBuilder().build(), null));
     }
 }
\ No newline at end of file
index c5250ba96376e1f8711aa490b9ba4e1b819d5543..43322a15421e727f6a9e2a1c2809a428ea6a1ae6 100644 (file)
@@ -31,11 +31,9 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev200120.evpn.evpn.choice.EsRouteCaseBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev200120.evpn.evpn.choice.EthernetADRouteCase;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev200120.evpn.evpn.choice.EthernetADRouteCaseBuilder;
-import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
 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.spi.node.ImmutableNodes;
 
 public class EthADRParserTest {
     public static final byte[] RESULT = {
@@ -79,9 +77,10 @@ public class EthADRParserTest {
     }
 
     public static ChoiceNode createEthADRModel() {
-        final DataContainerNodeBuilder<NodeIdentifier, ChoiceNode> choice = Builders.choiceBuilder();
-        choice.withNodeIdentifier(EVPN_NID);
-        return choice.addChild(createArbitraryContainer()).build();
+        return ImmutableNodes.newChoiceBuilder()
+            .withNodeIdentifier(EVPN_NID)
+            .addChild(createArbitraryContainer())
+            .build();
     }
 
     private static ContainerNode createArbitraryContainer() {
index 0b960a3b88a364cf07a4475ee76497ac4872dbc7..b6b84d34f56d44026bd66f6a64c653ea4862d877 100644 (file)
@@ -37,7 +37,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mult
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.attributes.unreach.mp.unreach.nlri.WithdrawnRoutesBuilder;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
-import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
+import org.opendaylight.yangtools.yang.data.spi.node.ImmutableNodes;
 
 public class EvpnNlriParserTest {
     private static final NodeIdentifier EVPN_CHOICE_NID = new NodeIdentifier(EvpnChoice.QNAME);
@@ -48,7 +48,7 @@ public class EvpnNlriParserTest {
     private final EvpnNlriParser parser = new EvpnNlriParser();
 
     private static ChoiceNode createMACIpAdvChoice() {
-        return Builders.choiceBuilder()
+        return ImmutableNodes.newChoiceBuilder()
             .withNodeIdentifier(EVPN_CHOICE_NID)
             .addChild(MACIpAdvRParserTest.createMacIpCont())
             .build();
@@ -119,29 +119,25 @@ public class EvpnNlriParserTest {
 
     @Test
     public void testExtractEvpnDestination() {
-        final EvpnDestination destResult = EvpnNlriParser.extractEvpnDestination(Builders.unkeyedListEntryBuilder()
-            .withNodeIdentifier(EVPN_NID)
-            .withChild(createMACIpAdvChoice())
-            .withChild(createValue(RD_MODEL, RD_NID))
-            .build());
-        final EvpnDestination expected = new EvpnDestinationBuilder()
+        assertEquals(new EvpnDestinationBuilder()
             .setRouteDistinguisher(RD)
             .setEvpnChoice(MACIpAdvRParserTest.createdExpectedResult())
-            .build();
-        assertEquals(expected, destResult);
+            .build(), EvpnNlriParser.extractEvpnDestination(ImmutableNodes.newUnkeyedListEntryBuilder()
+                .withNodeIdentifier(EVPN_NID)
+                .withChild(createMACIpAdvChoice())
+                .withChild(createValue(RD_MODEL, RD_NID))
+                .build()));
     }
 
     @Test
     public void testExtractRouteKey() {
-        final EvpnDestination destResult = EvpnNlriParser.extractRouteKeyDestination(Builders.unkeyedListEntryBuilder()
-            .withNodeIdentifier(EVPN_CHOICE_NID)
-            .withChild(createValue(RD_MODEL, RD_NID))
-            .withChild(createMACIpAdvChoice())
-            .build());
-        final EvpnDestination expected = new EvpnDestinationBuilder()
+        assertEquals(new EvpnDestinationBuilder()
             .setRouteDistinguisher(RD)
             .setEvpnChoice(MACIpAdvRParserTest.createdExpectedRouteKey())
-            .build();
-        assertEquals(expected, destResult);
+            .build(), EvpnNlriParser.extractRouteKeyDestination(ImmutableNodes.newUnkeyedListEntryBuilder()
+                .withNodeIdentifier(EVPN_CHOICE_NID)
+                .withChild(createValue(RD_MODEL, RD_NID))
+                .withChild(createMACIpAdvChoice())
+                .build()));
     }
 }
index c06e577e1ef319da116f38241d23faabd1a1f457..2fcfa47931edea64dfae18f9d45cdfa61519b645 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.protocol.bgp.evpn.impl.nlri;
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThrows;
 import static org.opendaylight.protocol.bgp.evpn.impl.EvpnTestUtil.VALUE_SIZE;
 import static org.opendaylight.protocol.bgp.evpn.impl.EvpnTestUtil.createContBuilder;
 import static org.opendaylight.protocol.bgp.evpn.impl.nlri.EthADRParserTest.ETHERNET_AD_ROUTE_CASE;
@@ -25,7 +26,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev200120.evpn.EvpnChoice;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
-import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
+import org.opendaylight.yangtools.yang.data.spi.node.ImmutableNodes;
 
 public final class SimpleEvpnNlriRegistryTest {
     private static final class NotRegistered implements EvpnChoice {
@@ -49,9 +50,10 @@ public final class SimpleEvpnNlriRegistryTest {
         assertEquals(ETHERNET_AD_ROUTE_CASE, SimpleEvpnNlriRegistry.getInstance().parseEvpn(type, buff));
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void registryParseTest() {
-        SimpleEvpnNlriRegistry.getInstance().parseEvpn(NlriType.EthADDisc, null);
+        assertThrows(IllegalArgumentException.class,
+            () -> SimpleEvpnNlriRegistry.getInstance().parseEvpn(NlriType.EthADDisc, null));
     }
 
     @Test
@@ -63,7 +65,7 @@ public final class SimpleEvpnNlriRegistryTest {
 
     @Test
     public void registryNullModelTest() {
-        assertNull(SimpleEvpnNlriRegistry.getInstance().serializeEvpnModel(Builders.choiceBuilder()
+        assertNull(SimpleEvpnNlriRegistry.getInstance().serializeEvpnModel(ImmutableNodes.newChoiceBuilder()
             .withNodeIdentifier(EVPN_NID)
             .addChild(createContBuilder(new NodeIdentifier(QName.create(Evpn.QNAME, "test").intern())).build())
             .build()));
index f95cc1e2e5c5be11db723745ad265d273592eb41..dadd931ee3a20553489ce47f53aef09ab90182ac 100644 (file)
@@ -9,7 +9,7 @@ package org.opendaylight.protocol.bgp.evpn.spi.pojo;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThrows;
 import static org.opendaylight.protocol.bgp.evpn.impl.esi.types.RouterIdParserTest.ROUTE_ID_CASE;
 
 import io.netty.buffer.ByteBuf;
@@ -22,7 +22,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev200120.evpn.routes.evpn.routes.EvpnRoute;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
-import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
+import org.opendaylight.yangtools.yang.data.spi.node.ImmutableNodes;
 
 public class SimpleEsiTypeRegistryTest {
     private static final class NotRegistered implements Esi {
@@ -45,9 +45,9 @@ public class SimpleEsiTypeRegistryTest {
         assertEquals(RouterIdParserTest.ROUTE_ID_CASE, reg.parseEsi(Unpooled.wrappedBuffer(buff)));
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void registryParseTest() {
-        SimpleEsiTypeRegistry.getInstance().parseEsi(null);
+        assertThrows(IllegalArgumentException.class, () -> SimpleEsiTypeRegistry.getInstance().parseEsi(null));
     }
 
     @Test
@@ -57,15 +57,16 @@ public class SimpleEsiTypeRegistryTest {
         assertEquals(0, body.readableBytes());
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void registryNullModelTest() {
-        assertNull(SimpleEsiTypeRegistry.getInstance().parseEsiModel(Builders.choiceBuilder()
-            .withNodeIdentifier(new NodeIdentifier(QName.create(EvpnRoute.QNAME, "no-register").intern()))
-            .build()));
+        assertThrows(IllegalArgumentException.class,
+            () -> SimpleEsiTypeRegistry.getInstance().parseEsiModel(ImmutableNodes.newChoiceBuilder()
+                .withNodeIdentifier(new NodeIdentifier(QName.create(EvpnRoute.QNAME, "no-register")))
+                .build()));
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void registryEmptyModelTest() {
-        assertNull(SimpleEsiTypeRegistry.getInstance().parseEsiModel(null));
+        assertThrows(IllegalArgumentException.class, () -> SimpleEsiTypeRegistry.getInstance().parseEsiModel(null));
     }
 }