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%2Ftestingservices%2Fscheduledthreadpool%2Ftest%2FTwoInterfacesExportTest.java;h=9c6ba0700cba40081b6f9972ba5ee6f80f55747e;hp=9c8b575fe59a799ca13bd10dd3558a2270fa8596;hb=f43b01b81319959b1907e3e04537f5169e7f33d8;hpb=7d9021752d0def517a4bd129743474cc0993e4e2 diff --git a/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/testingservices/scheduledthreadpool/test/TwoInterfacesExportTest.java b/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/testingservices/scheduledthreadpool/test/TwoInterfacesExportTest.java index 9c8b575fe5..9c6ba0700c 100644 --- a/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/testingservices/scheduledthreadpool/test/TwoInterfacesExportTest.java +++ b/opendaylight/config/config-manager/src/test/java/org/opendaylight/controller/config/manager/testingservices/scheduledthreadpool/test/TwoInterfacesExportTest.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, @@ -13,11 +13,13 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; + import javax.annotation.Nullable; -import javax.management.DynamicMBean; import javax.management.InstanceAlreadyExistsException; import javax.management.InstanceNotFoundException; +import javax.management.IntrospectionException; import javax.management.ObjectName; +import javax.management.ReflectionException; import org.junit.Test; import org.opendaylight.controller.config.api.ValidationException; import org.opendaylight.controller.config.api.jmx.ObjectNameUtil; @@ -29,27 +31,21 @@ import org.opendaylight.controller.config.util.ConfigTransactionJMXClient; public class TwoInterfacesExportTest extends AbstractScheduledTest { - private void assertExists(final String moduleName, final String instanceName) - throws Exception { + private void assertExists(final String moduleName, final String instanceName) throws Exception { assertExists(null, moduleName, instanceName); } - private void assertExists(@Nullable final ConfigTransactionJMXClient transaction, - final String moduleName, final String instanceName) - throws InstanceNotFoundException { + private void assertExists(@Nullable final ConfigTransactionJMXClient transaction, final String moduleName, + final String instanceName) throws InstanceNotFoundException, IntrospectionException, ReflectionException { if (transaction != null) { transaction.lookupConfigBean(moduleName, instanceName); // make a dummy call - configRegistryClient.newMBeanProxy( - ObjectNameUtil.createTransactionModuleON( - transaction.getTransactionName(), moduleName, - instanceName), DynamicMBean.class).getMBeanInfo(); + platformMBeanServer.getMBeanInfo(ObjectNameUtil.createTransactionModuleON(transaction.getTransactionName(), + moduleName, instanceName)); } else { configRegistryClient.lookupConfigBean(moduleName, instanceName); // make a dummy call - configRegistryClient.newMBeanProxy( - ObjectNameUtil.createReadOnlyModuleON(moduleName, - instanceName), DynamicMBean.class).getMBeanInfo(); + platformMBeanServer.getMBeanInfo(ObjectNameUtil.createReadOnlyModuleON(moduleName, instanceName)); } } @@ -57,123 +53,105 @@ public class TwoInterfacesExportTest extends AbstractScheduledTest { assertNotExists(null, moduleName, instanceName); } - private void assertNotExists( - @Nullable final ConfigTransactionJMXClient transaction, - final String moduleName, final String instanceName) { + private void assertNotExists(@Nullable final ConfigTransactionJMXClient transaction, final String moduleName, + final String instanceName) { if (transaction != null) { try { transaction.lookupConfigBean(moduleName, instanceName); fail(); - } catch (InstanceNotFoundException e) { - + } catch (final InstanceNotFoundException e) { + // FIXME: should be empty? } } else { try { configRegistryClient.lookupConfigBean(moduleName, instanceName); fail(); - } catch (InstanceNotFoundException e) { - + } catch (final InstanceNotFoundException e) { + // FIXME: should be empty? } } } @Test public void twoInterfaceNamesAfterCreatingConfigBean() throws Exception { - ConfigTransactionJMXClient transaction = configRegistryClient - .createTransaction(); + ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction(); // create using TestingThreadPoolIfc: - ObjectName scheduled1name = transaction.createModule( - TestingScheduledThreadPoolModuleFactory.NAME, scheduled1); + ObjectName scheduled1name = transaction.createModule(TestingScheduledThreadPoolModuleFactory.NAME, SCHEDULED1); - ObjectName retrievedName = transaction.lookupConfigBean( - TestingScheduledThreadPoolModuleFactory.NAME, scheduled1); + ObjectName retrievedName = transaction.lookupConfigBean(TestingScheduledThreadPoolModuleFactory.NAME, + SCHEDULED1); assertEquals(scheduled1name, retrievedName); // getExistingConfigBean should resolve moduleName String moduleName = TestingScheduledThreadPoolModuleFactory.NAME; - retrievedName = transaction.lookupConfigBean(moduleName, scheduled1); - ObjectName expected = ObjectNameUtil.createTransactionModuleON( - transaction.getTransactionName(), moduleName, scheduled1); + retrievedName = transaction.lookupConfigBean(moduleName, SCHEDULED1); + ObjectName expected = ObjectNameUtil.createTransactionModuleON(transaction.getTransactionName(), moduleName, + SCHEDULED1); assertEquals(expected, retrievedName); // commit transaction.commit(); - assertEquals(1, TestingScheduledThreadPoolImpl.allExecutors.size()); - assertFalse(TestingScheduledThreadPoolImpl.allExecutors.get(0) - .isTerminated()); - assertEquals(0, - TestingScheduledThreadPoolImpl.getNumberOfCloseMethodCalls()); + assertEquals(1, TestingScheduledThreadPoolImpl.ALLEXECUTORS.size()); + assertFalse(TestingScheduledThreadPoolImpl.ALLEXECUTORS.get(0).isTerminated()); + assertEquals(0, TestingScheduledThreadPoolImpl.getNumberOfCloseMethodCalls()); - assertExists(moduleName, scheduled1); + assertExists(moduleName, SCHEDULED1); // destroy using ThreadPool ifc transaction = configRegistryClient.createTransaction(); - transaction.destroyModule(ObjectNameUtil.createTransactionModuleON( - transaction.getTransactionName(), moduleName, scheduled1)); + transaction.destroyModule( + ObjectNameUtil.createTransactionModuleON(transaction.getTransactionName(), moduleName, SCHEDULED1)); transaction.commit(); - assertEquals(1, TestingScheduledThreadPoolImpl.allExecutors.size()); - assertTrue(TestingScheduledThreadPoolImpl.allExecutors.get(0) - .isTerminated()); - assertEquals(1, - TestingScheduledThreadPoolImpl.getNumberOfCloseMethodCalls()); + assertEquals(1, TestingScheduledThreadPoolImpl.ALLEXECUTORS.size()); + assertTrue(TestingScheduledThreadPoolImpl.ALLEXECUTORS.get(0).isTerminated()); + assertEquals(1, TestingScheduledThreadPoolImpl.getNumberOfCloseMethodCalls()); // should not be in platform: - assertNotExists(moduleName, scheduled1); + assertNotExists(moduleName, SCHEDULED1); transaction = configRegistryClient.createTransaction(); // should not be in transaction - assertNotExists(transaction, moduleName, scheduled1); + assertNotExists(transaction, moduleName, SCHEDULED1); } @Test - public void tryToRegisterThreadPoolWithSameName() - throws InstanceAlreadyExistsException { - ConfigTransactionJMXClient transaction = configRegistryClient - .createTransaction(); + public void tryToRegisterThreadPoolWithSameName() throws InstanceAlreadyExistsException { + ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction(); - transaction.createModule(TestingScheduledThreadPoolModuleFactory.NAME, - scheduled1); + transaction.createModule(TestingScheduledThreadPoolModuleFactory.NAME, SCHEDULED1); try { - transaction.createModule( - TestingScheduledThreadPoolModuleFactory.NAME, scheduled1); + transaction.createModule(TestingScheduledThreadPoolModuleFactory.NAME, SCHEDULED1); fail(); - } catch (InstanceAlreadyExistsException e) { - assertThat( - e.getMessage(), - containsString("There is an instance registered with name ModuleIdentifier{factoryName='scheduled', instanceName='scheduled1'}")); + } catch (final InstanceAlreadyExistsException e) { + assertThat(e.getMessage(), containsString( + "There is an instance registered with name " + + "ModuleIdentifier{factoryName='scheduled', instanceName='scheduled1'}")); } } // -- @Test public void testRegisteringAllIfcNames() throws Exception { - ConfigTransactionJMXClient transaction = configRegistryClient - .createTransaction(); - transaction.createModule(TestingScheduledThreadPoolModuleFactory.NAME, - scheduled1); + ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction(); + transaction.createModule(TestingScheduledThreadPoolModuleFactory.NAME, SCHEDULED1); transaction.commit(); - assertExists(TestingScheduledThreadPoolModuleFactory.NAME, scheduled1); + assertExists(TestingScheduledThreadPoolModuleFactory.NAME, SCHEDULED1); // another transaction transaction = configRegistryClient.createTransaction(); - assertExists(transaction, TestingScheduledThreadPoolModuleFactory.NAME, - scheduled1); + assertExists(transaction, TestingScheduledThreadPoolModuleFactory.NAME, SCHEDULED1); } @Test - public void testWithAPSP_useScheduledNames() - throws InstanceAlreadyExistsException, ValidationException { - ConfigTransactionJMXClient transaction = configRegistryClient - .createTransaction(); - ObjectName scheduledName = transaction.createModule( - TestingScheduledThreadPoolModuleFactory.NAME, scheduled1); - - ObjectName apspName = transaction.createModule( - TestingParallelAPSPModuleFactory.NAME, "apsp1"); - TestingParallelAPSPConfigMXBean apspProxy = transaction.newMBeanProxy( - apspName, TestingParallelAPSPConfigMXBean.class); + public void testWithAPSP_useScheduledNames() throws InstanceAlreadyExistsException, ValidationException { + ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction(); + ObjectName scheduledName = transaction.createModule(TestingScheduledThreadPoolModuleFactory.NAME, SCHEDULED1); + + ObjectName apspName = transaction.createModule(TestingParallelAPSPModuleFactory.NAME, "apsp1"); + TestingParallelAPSPConfigMXBean apspProxy = transaction.newMXBeanProxy(apspName, + TestingParallelAPSPConfigMXBean.class); apspProxy.setThreadPool(scheduledName); apspProxy.setSomeParam("someParam"); transaction.validateConfig(); @@ -182,17 +160,14 @@ public class TwoInterfacesExportTest extends AbstractScheduledTest { @Test public void testWithAPSP_useIfcNameMismatch() throws Exception { - ConfigTransactionJMXClient transaction = configRegistryClient - .createTransaction(); - transaction.createModule(TestingScheduledThreadPoolModuleFactory.NAME, - scheduled1); - - ObjectName apspName = transaction.createModule( - TestingParallelAPSPModuleFactory.NAME, "apsp1"); - TestingParallelAPSPConfigMXBean apspProxy = transaction.newMBeanProxy( - apspName, TestingParallelAPSPConfigMXBean.class); - apspProxy.setThreadPool(ObjectNameUtil.createReadOnlyModuleON( - TestingScheduledThreadPoolModuleFactory.NAME, scheduled1)); + ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction(); + transaction.createModule(TestingScheduledThreadPoolModuleFactory.NAME, SCHEDULED1); + + ObjectName apspName = transaction.createModule(TestingParallelAPSPModuleFactory.NAME, "apsp1"); + TestingParallelAPSPConfigMXBean apspProxy = transaction.newMXBeanProxy(apspName, + TestingParallelAPSPConfigMXBean.class); + apspProxy.setThreadPool( + ObjectNameUtil.createReadOnlyModuleON(TestingScheduledThreadPoolModuleFactory.NAME, SCHEDULED1)); apspProxy.setSomeParam("someParam"); transaction.validateConfig(); transaction.commit();