X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fconfig%2Fconfig-manager%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fmanager%2Fimpl%2Fosgi%2FRefreshingSCPModuleInfoRegistryTest.java;h=8613eeba6bca39f998edea21bc6eba6d6d73127d;hp=79391d4343a7d1a6dafa413c5fd18b1e93d8103e;hb=f77ea78c351d1c3604287e8444aae6943f70042f;hpb=1d639169d7afd590f4f756242031768e97d95b61 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 79391d4343..8613eeba6b 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,46 +1,81 @@ +/* + * Copyright (c) 2014, 2015 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.yangtools.concepts.ObjectRegistration; +import org.opendaylight.yangtools.sal.binding.generator.api.ClassLoadingStrategy; import org.opendaylight.yangtools.sal.binding.generator.api.ModuleInfoRegistry; +import org.opendaylight.yangtools.sal.binding.generator.util.BindingRuntimeContext; 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; -import java.util.*; +public class RefreshingSCPModuleInfoRegistryTest { -import static org.mockito.Mockito.doNothing; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; + @Mock + SchemaSourceProvider sourceProvider; + + @Before public void setUp() throws Exception { + MockitoAnnotations.initMocks(this); + } -public class RefreshingSCPModuleInfoRegistryTest { @Test public void testConstructor() throws Exception { ModuleInfoRegistry reg = mock(ModuleInfoRegistry.class); SchemaContextProvider prov = mock(SchemaContextProvider.class); doReturn("string").when(prov).toString(); - BundleContext ctxt = mock(BundleContext.class); - Dictionary dict = new Hashtable(); - 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); + 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)); + + 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(); + + RefreshingSCPModuleInfoRegistry scpreg = new RefreshingSCPModuleInfoRegistry(reg, prov, classLoadingStrat, sourceProvider, codecRegistryProvider, ctxt); - YangModuleInfo modInfo = mock(YangModuleInfo.class); - doNothing().when(servReg).setProperties(null); doNothing().when(servReg).unregister(); + + YangModuleInfo modInfo = mock(YangModuleInfo.class); doReturn("").when(modInfo).toString(); ObjectRegistration ymi = mock(ObjectRegistration.class); doReturn(ymi).when(reg).registerModuleInfo(modInfo); scpreg.registerModuleInfo(modInfo); + + 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(); } }