Remove yang-test
[controller.git] / opendaylight / config / config-manager / src / test / java / org / opendaylight / controller / config / manager / impl / dependencyresolver / DependencyResolverManagerTest.java
index 63a66e96eb152c1dfe37caf592f2d0d4778e52c6..0f099e77b0eb32b29f1d8c79414ab3c17b8cfa2c 100644 (file)
@@ -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,
@@ -15,25 +15,27 @@ 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.ModuleInternalTransactionalInfo;
+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;
 
-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;
@@ -42,17 +44,17 @@ public class DependencyResolverManagerTest {
     public void setUp() {
         transactionStatus = mock(TransactionStatus.class);
         ServiceReferenceReadableRegistry mockedRegistry = mock(ServiceReferenceReadableRegistry.class);
-        tested = new DependencyResolverManager("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);
@@ -64,39 +66,41 @@ public class DependencyResolverManagerTest {
 
         // switch to second phase committed
         reset(transactionStatus);
+        doNothing().when(transactionStatus).checkCommitStarted();
         doNothing().when(transactionStatus).checkCommitted();
-        List<ModuleIdentifier> sortedModuleIdentifiers = tested
-                .getSortedModuleIdentifiers();
-        assertEquals(
-                Arrays.asList(threadFactoryName, threadPoolName, apspName),
-                sortedModuleIdentifiers);
+        doNothing().when(transactionStatus).checkNotCommitted();
 
+        List<ModuleIdentifier> 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) {
-        ModuleInternalTransactionalInfo mock = mock(ModuleInternalTransactionalInfo.class);
-        doReturn(moduleIdentifier).when(mock).getIdentifier();
-        doReturn(mockedModule()).when(mock).getModule();
-        tested.put(mock);
+    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, 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;
     }
-
 }