BUG-2982 : moved path-attributes container to grouping
[bgpcep.git] / bgp / rib-spi / src / test / java / org / opendaylight / protocol / bgp / rib / spi / AbstractAdjRIBsTest.java
index 2d7b82d4155516d53ace7bd0200e3d6163ea13ea..8c7ae5e0906eb1a591bcfbd9ab1ad98096b0b608 100644 (file)
@@ -22,15 +22,19 @@ import org.mockito.invocation.InvocationOnMock;
 import org.mockito.stubbing.Answer;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.AsNumber;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Prefix;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev150305.ipv4.routes.Ipv4Routes;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev150305.ipv4.routes.ipv4.routes.Ipv4Route;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev150305.ipv4.routes.ipv4.routes.Ipv4RouteBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev150305.ipv4.routes.ipv4.routes.Ipv4RouteKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130919.Update;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130919.update.PathAttributes;
-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.PathAttributes1;
-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.update.path.attributes.MpReachNlri;
-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.MpUnreachNlri;
-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.message.rev130919.path.attributes.Attributes;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130919.path.attributes.AttributesBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.Attributes1;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.Attributes2;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.update.attributes.MpReachNlri;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.update.attributes.MpReachNlriBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.update.attributes.MpUnreachNlri;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.update.attributes.MpUnreachNlriBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.BgpRib;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.RibId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.Route;
@@ -39,11 +43,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.bgp.rib.rib.LocRib;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.rib.Tables;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.rib.TablesKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.rib.tables.routes.ipv4.routes._case.Ipv4Routes;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.rib.tables.routes.ipv4.routes._case.ipv4.routes.Ipv4Route;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.rib.tables.routes.ipv4.routes._case.ipv4.routes.Ipv4RouteBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.rib.tables.routes.ipv4.routes._case.ipv4.routes.Ipv4RouteKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.route.AttributesBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.Ipv4AddressFamily;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.UnicastSubsequentAddressFamily;
 import org.opendaylight.yangtools.yang.binding.DataObject;
@@ -54,11 +53,11 @@ public class AbstractAdjRIBsTest {
 
     private static final AsNumber TEST_AS_NUMBER = new AsNumber(35L);
 
-    private static final Ipv4Prefix IPV4_PREFIX1 = new Ipv4Prefix("test-prefix1");
+    private static final Ipv4Prefix IPV4_PREFIX1 = new Ipv4Prefix("1.1.1.1/32");
 
-    private static final Ipv4Prefix IPV4_PREFIX2 = new Ipv4Prefix("test-prefix2");
+    private static final Ipv4Prefix IPV4_PREFIX2 = new Ipv4Prefix("2.2.2.2/32");
 
-    private static final InstanceIdentifier<Rib> RIB_IID = InstanceIdentifier.builder(BgpRib.class).child(Rib.class, new RibKey(new RibId("test-rib"))).toInstance();
+    private static final InstanceIdentifier<Rib> RIB_IID = InstanceIdentifier.builder(BgpRib.class).child(Rib.class, new RibKey(new RibId("test-rib"))).build();
 
     private static final KeyedInstanceIdentifier<Tables, TablesKey> TABLES_IID = RIB_IID.child(LocRib.class).child(Tables.class, new TablesKey(Ipv4AddressFamily.class,
             UnicastSubsequentAddressFamily.class));
@@ -68,7 +67,7 @@ public class AbstractAdjRIBsTest {
     @Mock
     private Peer peer;
 
-    private Map<InstanceIdentifier<?>, Map.Entry<DataObject, Boolean>> store = Maps.newHashMap();
+    private final Map<InstanceIdentifier<?>, Map.Entry<DataObject, Boolean>> store = Maps.newHashMap();
 
     private final BGPObjectComparator bgpComparator = new BGPObjectComparator(TEST_AS_NUMBER);
 
@@ -110,6 +109,7 @@ public class AbstractAdjRIBsTest {
                 final InstanceIdentifier<Tables> basePath = (InstanceIdentifier<Tables>) args[0];
                 final Boolean uptodate = (Boolean) args[1];
                 @SuppressWarnings("rawtypes")
+                final
                 Map.Entry<DataObject, Boolean> entry = new AbstractMap.SimpleEntry(null, uptodate);
                 AbstractAdjRIBsTest.this.store.put(basePath, entry);
                 return null;
@@ -120,7 +120,7 @@ public class AbstractAdjRIBsTest {
     @Test
     public void testAdjRibs() {
         final TestAdjRIBs adjsRib = new TestAdjRIBs(TABLES_IID);
-        adjsRib.add(this.ribsTx, this.peer, IPV4_PREFIX1, new TestAdjRIBs.TestIpv4RIBEntryData(this.peer, new PathAttributesBuilder().build()));
+        adjsRib.add(this.ribsTx, this.peer, IPV4_PREFIX1, new TestAdjRIBs.TestIpv4RIBEntryData(this.peer, new AttributesBuilder().build()));
         Mockito.verify(this.ribsTx, Mockito.times(1)).advertise(Mockito.<RouteEncoder>any(), Mockito.any(), Mockito.<InstanceIdentifier<Route>>any(), Mockito.<Peer>any(), Mockito.any(Route.class));
         Mockito.verify(this.ribsTx, Mockito.times(1)).setUptodate(Matchers.<InstanceIdentifier<Tables>>any(), Mockito.anyBoolean());
         Assert.assertEquals(2, this.store.size());
@@ -135,8 +135,8 @@ public class AbstractAdjRIBsTest {
         Mockito.verify(this.ribsTx, Mockito.times(1)).withdraw(Mockito.<RouteEncoder>any(), Mockito.any(), Mockito.<InstanceIdentifier<Route>>any());
         Assert.assertEquals(1, this.store.size());
 
-        adjsRib.add(this.ribsTx, this.peer, IPV4_PREFIX1, new TestAdjRIBs.TestIpv4RIBEntryData(this.peer, new PathAttributesBuilder().build()));
-        adjsRib.add(this.ribsTx, this.peer, IPV4_PREFIX2, new TestAdjRIBs.TestIpv4RIBEntryData(this.peer, new PathAttributesBuilder().build()));
+        adjsRib.add(this.ribsTx, this.peer, IPV4_PREFIX1, new TestAdjRIBs.TestIpv4RIBEntryData(this.peer, new AttributesBuilder().build()));
+        adjsRib.add(this.ribsTx, this.peer, IPV4_PREFIX2, new TestAdjRIBs.TestIpv4RIBEntryData(this.peer, new AttributesBuilder().build()));
         Mockito.verify(this.ribsTx, Mockito.times(3)).advertise(Mockito.<RouteEncoder>any(), Mockito.any(), Mockito.<InstanceIdentifier<Route>>any(), Mockito.<Peer>any(), Mockito.any(Route.class));
 
         adjsRib.addAllEntries(this.ribsTx);
@@ -152,7 +152,7 @@ public class AbstractAdjRIBsTest {
     public void testEndOfRib() {
         final TestAdjRIBs adjsRib = new TestAdjRIBs(TABLES_IID);
         final Update endOfRib = adjsRib.endOfRib();
-        final PathAttributes1 attr1 = endOfRib.getPathAttributes().getAugmentation(PathAttributes1.class);
+        final Attributes1 attr1 = endOfRib.getAttributes().getAugmentation(Attributes1.class);
         Assert.assertNotNull(attr1);
         Assert.assertEquals(Ipv4AddressFamily.class, attr1.getMpReachNlri().getAfi());
         Assert.assertEquals(UnicastSubsequentAddressFamily.class, attr1.getMpReachNlri().getSafi());
@@ -162,13 +162,13 @@ public class AbstractAdjRIBsTest {
     public void testUpdateMsgFor() {
         final TestAdjRIBs adjsRib = new TestAdjRIBs(TABLES_IID);
         final Update update1 = adjsRib.updateMessageFor(IPV4_PREFIX1, new Ipv4RouteBuilder().setAttributes(new AttributesBuilder().build()).build());
-        final PathAttributes1 attr1 = update1.getPathAttributes().getAugmentation(PathAttributes1.class);
+        final Attributes1 attr1 = update1.getAttributes().getAugmentation(Attributes1.class);
         Assert.assertNotNull(attr1);
         Assert.assertEquals(Ipv4AddressFamily.class, attr1.getMpReachNlri().getAfi());
         Assert.assertEquals(UnicastSubsequentAddressFamily.class, attr1.getMpReachNlri().getSafi());
 
         final Update update2 = adjsRib.updateMessageFor(IPV4_PREFIX2, null);
-        final PathAttributes2 attr2 = update2.getPathAttributes().getAugmentation(PathAttributes2.class);
+        final Attributes2 attr2 = update2.getAttributes().getAugmentation(Attributes2.class);
         Assert.assertNotNull(attr2);
         Assert.assertEquals(Ipv4AddressFamily.class, attr2.getMpUnreachNlri().getAfi());
         Assert.assertEquals(UnicastSubsequentAddressFamily.class, attr2.getMpUnreachNlri().getSafi());
@@ -178,9 +178,9 @@ public class AbstractAdjRIBsTest {
 
         private static final class TestIpv4RIBEntryData extends RIBEntryData<Ipv4Prefix, Ipv4Route, Ipv4RouteKey> {
 
-            private final PathAttributes attributes;
+            private final Attributes attributes;
 
-            protected TestIpv4RIBEntryData(final Peer peer, final PathAttributes attributes) {
+            protected TestIpv4RIBEntryData(final Peer peer, final Attributes attributes) {
                 super(peer, attributes);
                 this.attributes = attributes;
             }
@@ -192,44 +192,44 @@ public class AbstractAdjRIBsTest {
 
         }
 
-        protected TestAdjRIBs(KeyedInstanceIdentifier<Tables, TablesKey> basePath) {
+        protected TestAdjRIBs(final KeyedInstanceIdentifier<Tables, TablesKey> basePath) {
             super(basePath);
         }
 
         @Override
-        public void addRoutes(AdjRIBsTransaction trans, Peer peer, MpReachNlri nlri, PathAttributes attributes) {
+        public void addRoutes(final AdjRIBsTransaction trans, final Peer peer, final MpReachNlri nlri, final Attributes attributes) {
             return;
         }
 
         @Override
-        public void removeRoutes(AdjRIBsTransaction trans, Peer peer, MpUnreachNlri nlri) {
+        public void removeRoutes(final AdjRIBsTransaction trans, final Peer peer, final MpUnreachNlri nlri) {
             return;
         }
 
         @Override
-        public void addAdvertisement(MpReachNlriBuilder builder, Ipv4Route data) {
+        public void addAdvertisement(final MpReachNlriBuilder builder, final Ipv4Route data) {
             return;
         }
 
         @Override
         protected KeyedInstanceIdentifier<Ipv4Route, Ipv4RouteKey> identifierForKey(
-                InstanceIdentifier<Tables> basePath, Ipv4Prefix id) {
-            return basePath.child(Ipv4Routes.class).child(Ipv4Route.class,
+                final InstanceIdentifier<Tables> basePath, final Ipv4Prefix id) {
+            return basePath.child((Class)Ipv4Routes.class).child(Ipv4Route.class,
                     new Ipv4RouteKey(id));
         }
 
         @Override
-        protected void addWithdrawal(MpUnreachNlriBuilder builder, Ipv4Prefix id) {
+        protected void addWithdrawal(final MpUnreachNlriBuilder builder, final Ipv4Prefix id) {
             return;
         }
 
         @Override
-        public KeyedInstanceIdentifier<Ipv4Route, Ipv4RouteKey> routeIdentifier(InstanceIdentifier<?> id) {
+        public KeyedInstanceIdentifier<Ipv4Route, Ipv4RouteKey> routeIdentifier(final InstanceIdentifier<?> id) {
             return null;
         }
 
         @Override
-        public Ipv4Prefix keyForIdentifier(KeyedInstanceIdentifier<Ipv4Route, Ipv4RouteKey> id) {
+        public Ipv4Prefix keyForIdentifier(final KeyedInstanceIdentifier<Ipv4Route, Ipv4RouteKey> id) {
             return null;
         }
     }