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%2Fdependencyresolver%2FDependencyResolverManagerTest.java;h=0f099e77b0eb32b29f1d8c79414ab3c17b8cfa2c;hp=123e52f6759e2ec9321c81aa36c6e655ddcb9c7f;hb=f43b01b81319959b1907e3e04537f5169e7f33d8;hpb=5b86a90b046000688c328d590a5c6ae945f6d2a5 diff --git a/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/impl/dependencyresolver/DependencyResolverManagerTest.java b/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/impl/dependencyresolver/DependencyResolverManagerTest.java index 123e52f675..0f099e77b0 100644 --- a/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/impl/dependencyresolver/DependencyResolverManagerTest.java +++ b/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/impl/dependencyresolver/DependencyResolverManagerTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. + * Copyright (c) 2013, 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, @@ -7,36 +7,35 @@ */ package org.opendaylight.controller.config.manager.impl.dependencyresolver; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.doNothing; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.reset; + +import java.util.Arrays; +import java.util.List; import org.junit.Before; import org.junit.Test; import org.opendaylight.controller.config.api.JmxAttribute; import org.opendaylight.controller.config.api.ModuleIdentifier; import org.opendaylight.controller.config.api.ServiceReferenceReadableRegistry; import org.opendaylight.controller.config.api.jmx.ObjectNameUtil; +import org.opendaylight.controller.config.manager.impl.AbstractLockedPlatformMBeanServerTest; import org.opendaylight.controller.config.manager.impl.ModuleInternalInfo; import org.opendaylight.controller.config.manager.impl.TransactionIdentifier; import org.opendaylight.controller.config.manager.impl.TransactionStatus; import org.opendaylight.controller.config.manager.impl.jmx.TransactionModuleJMXRegistrator.TransactionModuleJMXRegistration; import org.opendaylight.controller.config.spi.Module; import org.opendaylight.controller.config.spi.ModuleFactory; +import org.osgi.framework.BundleContext; -import java.util.Arrays; -import java.util.List; - -import static org.junit.Assert.assertEquals; -import static org.mockito.Mockito.doNothing; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.reset; - -public class DependencyResolverManagerTest { +public class DependencyResolverManagerTest extends AbstractLockedPlatformMBeanServerTest { final ModuleIdentifier apspName = new ModuleIdentifier("apsp", "apsp"); // depends // on: - final ModuleIdentifier threadPoolName = new ModuleIdentifier("threadpool", - "threadpool"); // depends on: - final ModuleIdentifier threadFactoryName = new ModuleIdentifier( - "threadfactory", "threadfactory"); + final ModuleIdentifier threadPoolName = new ModuleIdentifier("threadpool", "threadpool"); // depends on: + final ModuleIdentifier threadFactoryName = new ModuleIdentifier("threadfactory", "threadfactory"); private DependencyResolverManager tested; TransactionStatus transactionStatus; @@ -45,17 +44,17 @@ public class DependencyResolverManagerTest { public void setUp() { transactionStatus = mock(TransactionStatus.class); ServiceReferenceReadableRegistry mockedRegistry = mock(ServiceReferenceReadableRegistry.class); - tested = new DependencyResolverManager(new TransactionIdentifier("txName"), transactionStatus, mockedRegistry, null); + tested = new DependencyResolverManager(new TransactionIdentifier("txName"), transactionStatus, mockedRegistry, + null, platformMBeanServer); doNothing().when(transactionStatus).checkCommitStarted(); doNothing().when(transactionStatus).checkNotCommitted(); } @Test public void testOrdering() { - DependencyResolverImpl apspDRI = tested.getOrCreate(apspName); + final DependencyResolverImpl apspDRI = tested.getOrCreate(apspName); mockGetInstance(tested, apspName); - DependencyResolverImpl threadPoolDRI = tested - .getOrCreate(threadPoolName); + final DependencyResolverImpl threadPoolDRI = tested.getOrCreate(threadPoolName); mockGetInstance(tested, threadPoolName); tested.getOrCreate(threadFactoryName); mockGetInstance(tested, threadFactoryName); @@ -67,47 +66,41 @@ public class DependencyResolverManagerTest { // switch to second phase committed reset(transactionStatus); + doNothing().when(transactionStatus).checkCommitStarted(); doNothing().when(transactionStatus).checkCommitted(); - List sortedModuleIdentifiers = tested - .getSortedModuleIdentifiers(); - assertEquals( - Arrays.asList(threadFactoryName, threadPoolName, apspName), - sortedModuleIdentifiers); + doNothing().when(transactionStatus).checkNotCommitted(); + List sortedModuleIdentifiers = tested.getSortedModuleIdentifiers(); + assertEquals(Arrays.asList(threadFactoryName, threadPoolName, apspName), sortedModuleIdentifiers); } /** * Simulate dependentResolver resolving its dependency identified by * dependentName. */ - private void declareDependency(DependencyResolverImpl dependerResolver, - ModuleIdentifier dependentName) { + private static void declareDependency(final DependencyResolverImpl dependerResolver, + final ModuleIdentifier dependentName) { JmxAttribute dummyAttribute = new JmxAttribute("dummy"); - dependerResolver.resolveInstance(Object.class, - ObjectNameUtil.createReadOnlyModuleON(dependentName), + dependerResolver.resolveInstance(Object.class, ObjectNameUtil.createReadOnlyModuleON(dependentName), dummyAttribute); } - private static void mockGetInstance(DependencyResolverManager tested, - ModuleIdentifier moduleIdentifier) { + private static void mockGetInstance(final DependencyResolverManager tested, + final ModuleIdentifier moduleIdentifier) { ModuleFactory moduleFactory = mock(ModuleFactory.class); ModuleInternalInfo maybeOldInternalInfo = null; TransactionModuleJMXRegistration transactionModuleJMXRegistration = null; boolean isDefaultBean = false; - tested.put(moduleIdentifier, - mockedModule(), - moduleFactory, - maybeOldInternalInfo, - transactionModuleJMXRegistration, - isDefaultBean); + tested.put(moduleIdentifier, mockedModule(), moduleFactory, maybeOldInternalInfo, + transactionModuleJMXRegistration, isDefaultBean, mock(BundleContext.class)); } private static Module mockedModule() { Module mockedModule = mock(Module.class); doReturn(mock(AutoCloseable.class)).when(mockedModule).getInstance(); + doReturn(new ModuleIdentifier("fact", "instance")).when(mockedModule).getIdentifier(); return mockedModule; } - }