X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=elanmanager%2Fimpl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fnetvirt%2Felanmanager%2Ftests%2FElanServiceTestModule.java;h=9ce65d924ebc4536842fda6efe1f4a5c687f3e7c;hb=2f0569ed75ef8a1fb60f992d19c8bbdf92ff45bf;hp=a7951caa77722d908da8381ca5a42a7a158bde6c;hpb=b76ae40e98c860c6e826fc35a027bf9b0108d24d;p=netvirt.git diff --git a/elanmanager/impl/src/test/java/org/opendaylight/netvirt/elanmanager/tests/ElanServiceTestModule.java b/elanmanager/impl/src/test/java/org/opendaylight/netvirt/elanmanager/tests/ElanServiceTestModule.java index a7951caa77..9ce65d924e 100644 --- a/elanmanager/impl/src/test/java/org/opendaylight/netvirt/elanmanager/tests/ElanServiceTestModule.java +++ b/elanmanager/impl/src/test/java/org/opendaylight/netvirt/elanmanager/tests/ElanServiceTestModule.java @@ -8,11 +8,13 @@ package org.opendaylight.netvirt.elanmanager.tests; import static org.mockito.Mockito.CALLS_REAL_METHODS; +import static org.mockito.Mockito.mock; -import com.google.common.base.Optional; +import com.google.common.util.concurrent.ListeningExecutorService; +import com.google.common.util.concurrent.MoreExecutors; +import java.util.Optional; +import java.util.concurrent.Executors; import org.mockito.Mockito; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.binding.test.DataBrokerTestModule; import org.opendaylight.daexim.DataImportBootReady; import org.opendaylight.genius.datastoreutils.SingleTransactionDataBroker; import org.opendaylight.genius.interfacemanager.commons.InterfaceManagerCommonUtils; @@ -32,6 +34,9 @@ import org.opendaylight.infrautils.diagstatus.DiagStatusService; import org.opendaylight.infrautils.inject.guice.testutils.AbstractGuiceJsr250Module; import org.opendaylight.infrautils.metrics.MetricProvider; import org.opendaylight.infrautils.metrics.testimpl.TestMetricProviderImpl; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractBaseDataBrokerTest; +import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractDataBrokerTestCustomizer; import org.opendaylight.mdsal.eos.binding.api.EntityOwnershipService; import org.opendaylight.mdsal.eos.common.api.EntityOwnershipState; import org.opendaylight.netvirt.bgpmanager.api.IBgpManager; @@ -46,7 +51,7 @@ import org.opendaylight.netvirt.neutronvpn.NeutronvpnManagerImpl; import org.opendaylight.netvirt.neutronvpn.api.l2gw.L2GatewayCache; import org.opendaylight.netvirt.neutronvpn.interfaces.INeutronVpnManager; import org.opendaylight.netvirt.vpnmanager.api.IVpnManager; -import org.opendaylight.ovsdb.utils.mdsal.utils.MdsalUtils; +import org.opendaylight.ovsdb.utils.mdsal.utils.ControllerMdsalUtils; import org.opendaylight.ovsdb.utils.southbound.utils.SouthboundUtils; import org.opendaylight.serviceutils.srm.ServiceRecoveryRegistry; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService; @@ -56,7 +61,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.lockmanager.rev16041 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.config.rev150710.ElanConfig; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.config.rev150710.ElanConfigBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingService; -import org.ops4j.pax.cdi.api.OsgiService; /** @@ -68,20 +72,32 @@ import org.ops4j.pax.cdi.api.OsgiService; public class ElanServiceTestModule extends AbstractGuiceJsr250Module { @Override - protected void configureBindings() { - DataBroker dataBroker = DataBrokerTestModule.dataBroker(); - EntityOwnershipService mockedEntityOwnershipService = Mockito.mock(EntityOwnershipService.class); + protected void configureBindings() throws Exception { + AbstractBaseDataBrokerTest test = new AbstractBaseDataBrokerTest() { + @Override + protected AbstractDataBrokerTestCustomizer createDataBrokerTestCustomizer() { + return new AbstractDataBrokerTestCustomizer() { + @Override + public ListeningExecutorService getCommitCoordinatorExecutor() { + return MoreExecutors.listeningDecorator(Executors.newCachedThreadPool()); + } + }; + } + }; + test.setup(); + DataBroker dataBroker = test.getDataBroker(); + EntityOwnershipService mockedEntityOwnershipService = mock(EntityOwnershipService.class); EntityOwnershipState mockedEntityOwnershipState = EntityOwnershipState.IS_OWNER; Mockito.when(mockedEntityOwnershipService.getOwnershipState(Mockito.any())) .thenReturn(Optional.of(mockedEntityOwnershipState)); bind(EntityOwnershipService.class).toInstance(mockedEntityOwnershipService); bind(L2GatewayCache.class).to(L2GatewayCacheImpl.class); bind(HwvtepNodeHACache.class).to(HwvtepNodeHACacheImpl.class); - bind(ServiceRecoveryRegistry.class).toInstance(Mockito.mock(ServiceRecoveryRegistry.class)); - bind(INeutronVpnManager.class).toInstance(Mockito.mock(NeutronvpnManagerImpl.class)); - IVpnManager ivpnManager = Mockito.mock(VpnManagerTestImpl.class, CALLS_REAL_METHODS); - bind(IMdsalApiManager.class).toInstance(new MDSALManager(dataBroker, - Mockito.mock(PacketProcessingService.class))); + bind(ServiceRecoveryRegistry.class).toInstance(mock(ServiceRecoveryRegistry.class)); + bind(INeutronVpnManager.class).toInstance(mock(NeutronvpnManagerImpl.class)); + IVpnManager ivpnManager = mock(VpnManagerTestImpl.class, CALLS_REAL_METHODS); + MDSALManager mockedMdsalManager = new MDSALManager(dataBroker, mock(PacketProcessingService.class)); + bind(IMdsalApiManager.class).toInstance(mockedMdsalManager); // Bindings for external services to "real" implementations bind(LockManagerService.class).to(LockManagerServiceImpl.class); @@ -104,21 +120,20 @@ public class ElanServiceTestModule extends AbstractGuiceJsr250Module { ItmRpcService itmRpcService = new ItmRpcTestImpl(); bind(DataBroker.class).toInstance(dataBroker); - bind(DataBroker.class).annotatedWith(OsgiService.class).toInstance(dataBroker); - bind(IdManagerService.class).toInstance(Mockito.mock(IdHelper.class, CALLS_REAL_METHODS)); + bind(IdManagerService.class).toInstance(mock(IdHelper.class, CALLS_REAL_METHODS)); bind(IInterfaceManager.class).toInstance(testInterfaceManager); bind(TestInterfaceManager.class).toInstance(testInterfaceManager); bind(IITMProvider.class).toInstance(testItmProvider); InterfaceMetaUtils interfaceMetaUtils = new InterfaceMetaUtils(dataBroker, - Mockito.mock(IdHelper.class, CALLS_REAL_METHODS), - Mockito.mock(BatchingUtils.class)); + mock(IdHelper.class, CALLS_REAL_METHODS), + mock(BatchingUtils.class)); InterfaceManagerCommonUtils interfaceManagerCommonUtils = new InterfaceManagerCommonUtils( dataBroker, - new MDSALManager(dataBroker, Mockito.mock(PacketProcessingService.class)), - Mockito.mock(IdHelper.class, CALLS_REAL_METHODS), + mockedMdsalManager, + mock(IdHelper.class, CALLS_REAL_METHODS), interfaceMetaUtils, - Mockito.mock(BatchingUtils.class)); + mock(BatchingUtils.class)); bind(OdlInterfaceRpcService.class).toInstance(ElanEgressActionsHelper.newInstance(interfaceManagerCommonUtils, @@ -128,15 +143,14 @@ public class ElanServiceTestModule extends AbstractGuiceJsr250Module { IBgpManager ibgpManager = BgpManagerTestImpl.newInstance(singleTransactionDataBroker); bind(ItmRpcService.class).toInstance(itmRpcService); bind(ItmRpcTestImpl.class).toInstance((ItmRpcTestImpl)itmRpcService); - bind(DataImportBootReady.class).annotatedWith(OsgiService.class).toInstance(new DataImportBootReady() {}); - bind(DiagStatusService.class).toInstance(Mockito.mock(DiagStatusService.class)); + bind(DataImportBootReady.class).toInstance(new DataImportBootReady() {}); + bind(DiagStatusService.class).toInstance(mock(DiagStatusService.class)); bind(IVpnManager.class).toInstance(ivpnManager); bind(IBgpManager.class).toInstance(ibgpManager); - bind(DataImportBootReady.class).toInstance(new DataImportBootReady() {}); bind(IElanService.class).to(ElanServiceProvider.class); - MdsalUtils mdsalUtils = new MdsalUtils(dataBroker); - bind(MdsalUtils.class).toInstance(mdsalUtils); + ControllerMdsalUtils mdsalUtils = new ControllerMdsalUtils(dataBroker); + bind(ControllerMdsalUtils.class).toInstance(mdsalUtils); bind(SouthboundUtils.class).toInstance(new SouthboundUtils(mdsalUtils)); } }