X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fnetconf-it%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fit%2FAbstractNetconfConfigTest.java;h=b9d16bf34deaec6a6846fa38ee9c4b1cd4064021;hp=c2812dbf61af7241323941a9317780dd4e7df100;hb=b2e81149739c87f0ecc2ce7f06448d7a5d3162b8;hpb=47ef70359e1a7dc28cb7e080b7fa7aaf060afa0c diff --git a/opendaylight/netconf/netconf-it/src/test/java/org/opendaylight/controller/netconf/it/AbstractNetconfConfigTest.java b/opendaylight/netconf/netconf-it/src/test/java/org/opendaylight/controller/netconf/it/AbstractNetconfConfigTest.java index c2812dbf61..b9d16bf34d 100644 --- a/opendaylight/netconf/netconf-it/src/test/java/org/opendaylight/controller/netconf/it/AbstractNetconfConfigTest.java +++ b/opendaylight/netconf/netconf-it/src/test/java/org/opendaylight/controller/netconf/it/AbstractNetconfConfigTest.java @@ -9,12 +9,8 @@ package org.opendaylight.controller.netconf.it; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anySetOf; -import static org.mockito.Matchers.anyString; -import static org.mockito.Mockito.doNothing; -import static org.mockito.Mockito.mock; +import com.google.common.io.ByteStreams; import io.netty.channel.Channel; import io.netty.channel.ChannelFuture; import io.netty.channel.EventLoopGroup; @@ -34,9 +30,11 @@ import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.concurrent.TimeUnit; -import org.apache.commons.io.IOUtils; import org.junit.After; import org.junit.Before; +import org.opendaylight.controller.config.facade.xml.ConfigSubsystemFacadeFactory; +import org.opendaylight.controller.config.facade.xml.osgi.EnumResolver; +import org.opendaylight.controller.config.facade.xml.osgi.YangStoreService; import org.opendaylight.controller.config.manager.impl.AbstractConfigTest; import org.opendaylight.controller.config.manager.impl.factoriesresolver.HardcodedModuleFactoriesResolver; import org.opendaylight.controller.config.spi.ModuleFactory; @@ -52,8 +50,6 @@ import org.opendaylight.controller.netconf.client.SimpleNetconfClientSessionList import org.opendaylight.controller.netconf.client.conf.NetconfClientConfiguration; import org.opendaylight.controller.netconf.client.conf.NetconfClientConfigurationBuilder; import org.opendaylight.controller.netconf.confignetconfconnector.osgi.NetconfOperationServiceFactoryImpl; -import org.opendaylight.controller.netconf.confignetconfconnector.osgi.YangStoreService; -import org.opendaylight.controller.netconf.impl.DefaultCommitNotificationProducer; import org.opendaylight.controller.netconf.impl.NetconfServerDispatcherImpl; import org.opendaylight.controller.netconf.impl.NetconfServerSessionNegotiatorFactory; import org.opendaylight.controller.netconf.impl.SessionIdProvider; @@ -62,14 +58,13 @@ import org.opendaylight.controller.netconf.impl.osgi.NetconfMonitoringServiceImp import org.opendaylight.controller.netconf.mapping.api.NetconfOperationServiceFactory; import org.opendaylight.controller.netconf.monitoring.osgi.NetconfMonitoringActivator; import org.opendaylight.controller.netconf.monitoring.osgi.NetconfMonitoringOperationService; -import org.opendaylight.controller.netconf.notifications.BaseNetconfNotificationListener; import org.opendaylight.controller.netconf.util.test.XmlFileLoader; import org.opendaylight.protocol.framework.NeverReconnectStrategy; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.NetconfCapabilityChange; +import org.opendaylight.yangtools.sal.binding.generator.util.BindingRuntimeContext; +import org.opendaylight.yangtools.yang.binding.BindingMapping; import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.opendaylight.yangtools.yang.model.api.SchemaContextProvider; import org.opendaylight.yangtools.yang.parser.impl.YangParserImpl; -import org.w3c.dom.Element; public abstract class AbstractNetconfConfigTest extends AbstractConfigTest { @@ -83,6 +78,7 @@ public abstract class AbstractNetconfConfigTest extends AbstractConfigTest { new IdentityTestModuleFactory(), new MultipleDependenciesModuleFactory() }; + protected ConfigSubsystemFacadeFactory configSubsystemFacadeFactory; private EventLoopGroup nettyThreadgroup; private HashedWheelTimer hashedWheelTimer; @@ -108,7 +104,8 @@ public abstract class AbstractNetconfConfigTest extends AbstractConfigTest { final AggregatedNetconfOperationServiceFactory factoriesListener = new AggregatedNetconfOperationServiceFactory(); final NetconfMonitoringService netconfMonitoringService = getNetconfMonitoringService(factoriesListener); - factoriesListener.onAddNetconfOperationServiceFactory(new NetconfOperationServiceFactoryImpl(getYangStore())); + configSubsystemFacadeFactory = new ConfigSubsystemFacadeFactory(configRegistryClient, configRegistryClient, getYangStore()); + factoriesListener.onAddNetconfOperationServiceFactory(new NetconfOperationServiceFactoryImpl(configSubsystemFacadeFactory)); factoriesListener.onAddNetconfOperationServiceFactory(new NetconfMonitoringActivator.NetconfMonitoringOperationServiceFactory(new NetconfMonitoringOperationService(netconfMonitoringService))); for (final NetconfOperationServiceFactory netconfOperationServiceFactory : getAdditionalServiceFactories(factoriesListener)) { @@ -138,7 +135,7 @@ public abstract class AbstractNetconfConfigTest extends AbstractConfigTest { } private Channel startNetconfTcpServer(final AggregatedNetconfOperationServiceFactory listener, final NetconfMonitoringService monitoring) throws Exception { - final NetconfServerDispatcherImpl dispatch = createDispatcher(listener, monitoring, getNotificationProducer()); + final NetconfServerDispatcherImpl dispatch = createDispatcher(listener, monitoring); final ChannelFuture s; if(getTcpServerAddress() instanceof LocalAddress) { @@ -150,13 +147,6 @@ public abstract class AbstractNetconfConfigTest extends AbstractConfigTest { return s.channel(); } - protected DefaultCommitNotificationProducer getNotificationProducer() { - final DefaultCommitNotificationProducer notificationProducer = mock(DefaultCommitNotificationProducer.class); - doNothing().when(notificationProducer).close(); - doNothing().when(notificationProducer).sendCommitNotification(anyString(), any(Element.class), anySetOf(String.class)); - return notificationProducer; - } - protected Iterable getAdditionalServiceFactories(final AggregatedNetconfOperationServiceFactory factoriesListener) throws Exception { return Collections.emptySet(); } @@ -173,7 +163,7 @@ public abstract class AbstractNetconfConfigTest extends AbstractConfigTest { private HardcodedYangStoreService getYangStore() throws IOException { final Collection yangDependencies = getBasicYangs(); - return new HardcodedYangStoreService(yangDependencies); + return new HardcodedYangStoreService(yangDependencies, getBindingRuntimeContext()); } static Collection getBasicYangs() throws IOException { @@ -202,12 +192,11 @@ public abstract class AbstractNetconfConfigTest extends AbstractConfigTest { } protected NetconfServerDispatcherImpl createDispatcher( - final AggregatedNetconfOperationServiceFactory factoriesListener, final NetconfMonitoringService sessionMonitoringService, - final DefaultCommitNotificationProducer commitNotifier) { + final AggregatedNetconfOperationServiceFactory factoriesListener, final NetconfMonitoringService sessionMonitoringService) { final SessionIdProvider idProvider = new SessionIdProvider(); final NetconfServerSessionNegotiatorFactory serverNegotiatorFactory = new NetconfServerSessionNegotiatorFactory( - hashedWheelTimer, factoriesListener, idProvider, SERVER_CONNECTION_TIMEOUT_MILLIS, commitNotifier, sessionMonitoringService); + hashedWheelTimer, factoriesListener, idProvider, SERVER_CONNECTION_TIMEOUT_MILLIS, sessionMonitoringService); final NetconfServerDispatcherImpl.ServerChannelInitializer serverChannelInitializer = new NetconfServerDispatcherImpl.ServerChannelInitializer( serverNegotiatorFactory); @@ -242,18 +231,15 @@ public abstract class AbstractNetconfConfigTest extends AbstractConfigTest { } public static final class HardcodedYangStoreService extends YangStoreService { - public HardcodedYangStoreService(final Collection inputStreams) throws IOException { + public HardcodedYangStoreService(final Collection inputStreams, final BindingRuntimeContext bindingRuntimeContext) throws IOException { super(new SchemaContextProvider() { @Override public SchemaContext getSchemaContext() { return getSchema(inputStreams); } - }, new BaseNetconfNotificationListener() { - @Override - public void onCapabilityChanged(final NetconfCapabilityChange capabilityChange) { - // NOOP - } }); + + refresh(bindingRuntimeContext); } private static SchemaContext getSchema(final Collection inputStreams) { @@ -262,7 +248,7 @@ public abstract class AbstractNetconfConfigTest extends AbstractConfigTest { assertNotNull(inputStream); final byte[] content; try { - content = IOUtils.toByteArray(inputStream); + content = ByteStreams.toByteArray(inputStream); } catch (IOException e) { throw new IllegalStateException("Cannot read " + inputStream, e); } @@ -281,5 +267,20 @@ public abstract class AbstractNetconfConfigTest extends AbstractConfigTest { final YangParserImpl yangParser = new YangParserImpl(); return yangParser.resolveSchemaContext(new HashSet<>(yangParser.parseYangModelsFromStreamsMapped(byteArrayInputStreams).values())); } + + @Override + public EnumResolver getEnumResolver() { + return new EnumResolver() { + @Override + public String fromYang(final String enumType, final String enumYangValue) { + return BindingMapping.getClassName(enumYangValue); + } + + @Override + public String toYang(final String enumType, final String enumJavaValue) { + return enumJavaValue.toLowerCase(); + } + }; + } } }