YANG revision dates mass-update
[bgpcep.git] / bgp / rib-spi / src / test / java / org / opendaylight / protocol / bgp / rib / spi / SimpleRIBExtensionTest.java
index 3a6020e4823986eea0a93d13186035ad84589e52..45d117cb5ca53b76393dc7adc8e27dfd092940f7 100644 (file)
@@ -5,43 +5,56 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.protocol.bgp.rib.spi;
 
-import com.google.common.collect.Lists;
+import java.util.Collections;
 import java.util.List;
 import org.junit.Assert;
 import org.junit.Test;
 import org.mockito.Mockito;
-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.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.KeyedInstanceIdentifier;
+import org.opendaylight.mdsal.binding.dom.adapter.BindingToNormalizedNodeCodec;
+import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractConcurrentDataBrokerTest;
+import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractDataBrokerTestCustomizer;
+import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.Route;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev200120.Ipv4AddressFamily;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev200120.UnicastSubsequentAddressFamily;
+import org.opendaylight.yangtools.concepts.Registration;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+
+public class SimpleRIBExtensionTest extends AbstractConcurrentDataBrokerTest {
+    private BindingToNormalizedNodeCodec codec;
 
-public class SimpleRIBExtensionTest {
+    @Override
+    protected final AbstractDataBrokerTestCustomizer createDataBrokerTestCustomizer() {
+        final AbstractDataBrokerTestCustomizer customizer = super.createDataBrokerTestCustomizer();
+        this.codec = customizer.getBindingToNormalized();
+        return customizer;
+    }
 
     @Test
     public void testExtensionProvider() {
-        final ServiceLoaderRIBExtensionConsumerContext ctx = ServiceLoaderRIBExtensionConsumerContext.createConsumerContext();
-        Assert.assertNull(ctx.getAdjRIBsInFactory(Ipv4AddressFamily.class, UnicastSubsequentAddressFamily.class));
+        final ServiceLoaderRIBExtensionConsumerContext ctx =
+                ServiceLoaderRIBExtensionConsumerContext.createConsumerContext(this.codec);
+        Assert.assertNull(ctx.getRIBSupport(Ipv4AddressFamily.class, UnicastSubsequentAddressFamily.class));
         final TestActivator act = new TestActivator();
-        act.startRIBExtensionProvider(ctx);
-        Assert.assertNotNull(ctx.getAdjRIBsInFactory(Ipv4AddressFamily.class, UnicastSubsequentAddressFamily.class));
+        act.startRIBExtensionProvider(ctx, this.codec);
+        Assert.assertNotNull(ctx.getRIBSupport(Ipv4AddressFamily.class, UnicastSubsequentAddressFamily.class));
         act.close();
-        Assert.assertNull(ctx.getAdjRIBsInFactory(Ipv4AddressFamily.class, UnicastSubsequentAddressFamily.class));
+        Assert.assertNull(ctx.getRIBSupport(Ipv4AddressFamily.class, UnicastSubsequentAddressFamily.class));
         ctx.close();
     }
 
     private final class TestActivator extends AbstractRIBExtensionProviderActivator {
         @Override
-        protected List<AutoCloseable> startRIBExtensionProviderImpl(final RIBExtensionProviderContext context) {
-            return Lists.newArrayList(context.registerAdjRIBsInFactory(Ipv4AddressFamily.class, UnicastSubsequentAddressFamily.class, new AdjRIBsFactory() {
-                @Override
-                public AdjRIBsIn<?, ?> createAdjRIBs(final KeyedInstanceIdentifier<Tables, TablesKey> basePath) {
-                    return Mockito.mock(AbstractAdjRIBs.class);
-                }
-            }));
+        protected List<Registration> startRIBExtensionProviderImpl(final RIBExtensionProviderContext context,
+                final BindingNormalizedNodeSerializer mappingService) {
+            final RIBSupport<?, ?, ?, ?> support = Mockito.mock(RIBSupport.class);
+            Mockito.doReturn(Route.class).when(support).routesListClass();
+            Mockito.doReturn(DataObject.class).when(support).routesContainerClass();
+            Mockito.doReturn(DataObject.class).when(support).routesCaseClass();
+            return Collections.singletonList(context.registerRIBSupport(Ipv4AddressFamily.class,
+                    UnicastSubsequentAddressFamily.class, support));
         }
     }
 }