X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fconfig%2Fconfig-manager%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fmanager%2Fimpl%2Fosgi%2FRefreshingSCPModuleInfoRegistryTest.java;h=4de2302beb340afdd47505ee6552ebac3d6e1ccc;hb=2b78ca93f44c372fd72927db6cbd65f5d8387b49;hp=9d799cb47d56169eaa987df7aa30f4350da4f4d8;hpb=2294805f83434db1d248e629767da6a563ce595f;p=controller.git diff --git a/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/impl/osgi/RefreshingSCPModuleInfoRegistryTest.java b/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/impl/osgi/RefreshingSCPModuleInfoRegistryTest.java index 9d799cb47d..4de2302beb 100644 --- a/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/impl/osgi/RefreshingSCPModuleInfoRegistryTest.java +++ b/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/impl/osgi/RefreshingSCPModuleInfoRegistryTest.java @@ -1,44 +1,85 @@ +/* + * Copyright (c) 2014, 2017 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * 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.controller.config.manager.impl.osgi; +import static org.mockito.Matchers.any; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; import java.util.Dictionary; +import org.junit.Before; import org.junit.Test; +import org.mockito.Mock; import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import org.opendaylight.controller.config.manager.impl.osgi.mapping.BindingContextProvider; import org.opendaylight.controller.config.manager.impl.osgi.mapping.RefreshingSCPModuleInfoRegistry; +import org.opendaylight.mdsal.binding.generator.api.ClassLoadingStrategy; +import org.opendaylight.mdsal.binding.generator.api.ModuleInfoRegistry; +import org.opendaylight.mdsal.binding.generator.util.BindingRuntimeContext; import org.opendaylight.yangtools.concepts.ObjectRegistration; -import org.opendaylight.yangtools.sal.binding.generator.api.ModuleInfoRegistry; import org.opendaylight.yangtools.yang.binding.YangModuleInfo; import org.opendaylight.yangtools.yang.model.api.SchemaContextProvider; +import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource; +import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceProvider; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceRegistration; public class RefreshingSCPModuleInfoRegistryTest { + + @Mock + SchemaSourceProvider sourceProvider; + + @Before + public void setUp() throws Exception { + MockitoAnnotations.initMocks(this); + } + @Test public void testConstructor() throws Exception { - ModuleInfoRegistry reg = mock(ModuleInfoRegistry.class); - SchemaContextProvider prov = mock(SchemaContextProvider.class); + final ModuleInfoRegistry reg = mock(ModuleInfoRegistry.class); + final SchemaContextProvider prov = mock(SchemaContextProvider.class); doReturn("string").when(prov).toString(); + final BundleContext ctxt = mock(BundleContext.class); + final ServiceRegistration servReg = mock(ServiceRegistration.class); + doReturn(servReg).when(ctxt).registerService(any(Class.class), any(SchemaContextProvider.class), + any(Dictionary.class)); + doReturn(servReg).when(ctxt).registerService(Mockito.anyString(), any(Object.class), any(Dictionary.class)); + doNothing().when(servReg).setProperties(any(Dictionary.class)); - BundleContext ctxt = mock(BundleContext.class); - ServiceRegistration servReg = mock(ServiceRegistration.class); - doReturn(servReg).when(ctxt).registerService(Mockito.any(Class.class), Mockito.any(SchemaContextProvider.class), Mockito.any(Dictionary.class)); - doReturn(servReg).when(ctxt).registerService(Mockito.anyString(), Mockito.any(Object.class), Mockito.any(Dictionary.class)); - RefreshingSCPModuleInfoRegistry scpreg = new RefreshingSCPModuleInfoRegistry(reg, prov, ctxt); + final ClassLoadingStrategy classLoadingStrat = mock(ClassLoadingStrategy.class); + final BindingContextProvider codecRegistryProvider = mock(BindingContextProvider.class); + doNothing().when(codecRegistryProvider).update(classLoadingStrat, prov); + final BindingRuntimeContext bindingRuntimeContext = mock(BindingRuntimeContext.class); + doReturn("B-runtime-context").when(bindingRuntimeContext).toString(); + doReturn(bindingRuntimeContext).when(codecRegistryProvider).getBindingContext(); + + final RefreshingSCPModuleInfoRegistry scpreg = new RefreshingSCPModuleInfoRegistry(reg, prov, classLoadingStrat, + this.sourceProvider, codecRegistryProvider, ctxt); - YangModuleInfo modInfo = mock(YangModuleInfo.class); - doNothing().when(servReg).setProperties(null); doNothing().when(servReg).unregister(); + + final YangModuleInfo modInfo = mock(YangModuleInfo.class); doReturn("").when(modInfo).toString(); - ObjectRegistration ymi = mock(ObjectRegistration.class); + final ObjectRegistration ymi = mock(ObjectRegistration.class); doReturn(ymi).when(reg).registerModuleInfo(modInfo); scpreg.registerModuleInfo(modInfo); + scpreg.updateService(); + + verify(codecRegistryProvider).update(classLoadingStrat, prov); + scpreg.close(); - Mockito.verify(servReg, Mockito.times(1)).setProperties(null); + Mockito.verify(servReg, Mockito.times(1)).setProperties(any(Dictionary.class)); Mockito.verify(servReg, Mockito.times(1)).unregister(); } }