Drop <R, I> generic from RIBSupport
[bgpcep.git] / bgp / rib-spi / src / test / java / org / opendaylight / protocol / bgp / rib / spi / SimpleRIBExtensionTest.java
index 303d28e72f8e6396238e122c1e62a1e7e2d0f72b..8343056f7747d13511b8f328aebe155d0e2573ca 100644 (file)
@@ -7,53 +7,52 @@
  */
 package org.opendaylight.protocol.bgp.rib.spi;
 
-import java.util.Collections;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.mockito.Mockito.doReturn;
+
 import java.util.List;
-import org.junit.Assert;
 import org.junit.Test;
 import org.mockito.Mockito;
-import org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec;
-import org.opendaylight.controller.md.sal.binding.test.AbstractConcurrentDataBrokerTest;
-import org.opendaylight.controller.md.sal.binding.test.AbstractDataBrokerTestCustomizer;
+import org.opendaylight.mdsal.binding.dom.adapter.AdapterContext;
+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.rev180329.Ipv4AddressFamily;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.UnicastSubsequentAddressFamily;
+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;
+    private AdapterContext adapter;
 
     @Override
     protected final AbstractDataBrokerTestCustomizer createDataBrokerTestCustomizer() {
         final AbstractDataBrokerTestCustomizer customizer = super.createDataBrokerTestCustomizer();
-        this.codec = customizer.getBindingToNormalized();
+        this.adapter = customizer.getAdapterContext();
         return customizer;
     }
 
     @Test
     public void testExtensionProvider() {
-        final ServiceLoaderRIBExtensionConsumerContext ctx =
-                ServiceLoaderRIBExtensionConsumerContext.createConsumerContext(this.codec);
-        Assert.assertNull(ctx.getRIBSupport(Ipv4AddressFamily.class, UnicastSubsequentAddressFamily.class));
-        final TestActivator act = new TestActivator();
-        act.startRIBExtensionProvider(ctx, this.codec);
-        Assert.assertNotNull(ctx.getRIBSupport(Ipv4AddressFamily.class, UnicastSubsequentAddressFamily.class));
-        act.close();
-        Assert.assertNull(ctx.getRIBSupport(Ipv4AddressFamily.class, UnicastSubsequentAddressFamily.class));
-        ctx.close();
+        final BindingNormalizedNodeSerializer codec = adapter.currentSerializer();
+        var ctx = new DefaultRIBExtensionConsumerContext(codec);
+        assertNull(ctx.getRIBSupport(Ipv4AddressFamily.class, UnicastSubsequentAddressFamily.class));
+
+        ctx = new DefaultRIBExtensionConsumerContext(codec, new TestActivator());
+        assertNotNull(ctx.getRIBSupport(Ipv4AddressFamily.class, UnicastSubsequentAddressFamily.class));
     }
 
-    private final class TestActivator extends AbstractRIBExtensionProviderActivator {
+    private static final class TestActivator implements RIBExtensionProviderActivator {
         @Override
-        protected List<Registration> startRIBExtensionProviderImpl(final RIBExtensionProviderContext context,
+        public List<Registration> startRIBExtensionProvider(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,
+            final RIBSupport<?, ?> support = Mockito.mock(RIBSupport.class);
+            doReturn(Route.class).when(support).routesListClass();
+            doReturn(DataObject.class).when(support).routesContainerClass();
+            doReturn(DataObject.class).when(support).routesCaseClass();
+            return List.of(context.registerRIBSupport(Ipv4AddressFamily.class,
                     UnicastSubsequentAddressFamily.class, support));
         }
     }