*/
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));
}
}