X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fconfig%2Fyang-test%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fyang%2Ftest%2Fimpl%2FMultipleDependenciesModuleTest.java;fp=opendaylight%2Fconfig%2Fyang-test%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fyang%2Ftest%2Fimpl%2FMultipleDependenciesModuleTest.java;h=0000000000000000000000000000000000000000;hp=997e4e3196f87949a54249c36de1ef1bb2fe5c91;hb=f43b01b81319959b1907e3e04537f5169e7f33d8;hpb=92f55ddd5059ef4a665f0211a608313ee4474dd0 diff --git a/opendaylight/config/yang-test/src/test/java/org/opendaylight/controller/config/yang/test/impl/MultipleDependenciesModuleTest.java b/opendaylight/config/yang-test/src/test/java/org/opendaylight/controller/config/yang/test/impl/MultipleDependenciesModuleTest.java deleted file mode 100644 index 997e4e3196..0000000000 --- a/opendaylight/config/yang-test/src/test/java/org/opendaylight/controller/config/yang/test/impl/MultipleDependenciesModuleTest.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright (c) 2014 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.yang.test.impl; - -import static java.util.Arrays.asList; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertThat; -import static org.junit.Assert.fail; -import static org.opendaylight.controller.config.api.jmx.ObjectNameUtil.getInstanceName; -import static org.opendaylight.controller.config.api.jmx.ObjectNameUtil.getTransactionName; - -import java.util.List; -import javax.management.ObjectName; -import org.hamcrest.CoreMatchers; -import org.junit.Before; -import org.junit.Test; -import org.opendaylight.controller.config.api.ValidationException; -import org.opendaylight.controller.config.manager.impl.AbstractConfigTest; -import org.opendaylight.controller.config.manager.impl.factoriesresolver.HardcodedModuleFactoriesResolver; -import org.opendaylight.controller.config.util.ConfigTransactionJMXClient; - -public class MultipleDependenciesModuleTest extends AbstractConfigTest { - private static final MultipleDependenciesModuleFactory factory = new MultipleDependenciesModuleFactory(); - - @Before - public void setUp() throws Exception { - super.initConfigTransactionManagerImpl(new HardcodedModuleFactoriesResolver(mockedContext, factory)); - } - - @Test - public void testMultipleDependencies() throws Exception { - ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction(); - ObjectName d1 = transaction.createModule(factory.getImplementationName(), "d1"); - ObjectName d2 = transaction.createModule(factory.getImplementationName(), "d2"); - - assertEquals(transaction.getTransactionName(), getTransactionName(d1)); - - ObjectName parent = transaction.createModule(factory.getImplementationName(), "parent"); - MultipleDependenciesModuleMXBean multipleDependenciesModuleMXBean = transaction.newMXBeanProxy(parent, MultipleDependenciesModuleMXBean.class); - multipleDependenciesModuleMXBean.setTestingDeps(asList(d1, d2)); - List found = multipleDependenciesModuleMXBean.getTestingDeps(); - ObjectName d1WithoutTxName = found.get(0); - assertEquals(getInstanceName(d1), getInstanceName(d1WithoutTxName)); - // check that transaction name gets stripped automatically from attribute. - // d1,2 contained tx name, found doesn't - assertNull(getTransactionName(d1WithoutTxName)); - transaction.commit(); - } - - @Test - public void testCloseOrdering() throws Exception { - // Tests whether close is called in correct order on the module instances on following graph - // Each module tests whether its dependencies were closed before it (to simulate resource clean up failure) - // R1 - // | \ - // M1 M2 - // | - // L1 - ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction(); - ObjectName r1 = transaction.createModule(factory.getImplementationName(), "root1"); - ObjectName m1 = transaction.createModule(factory.getImplementationName(), "middle1"); - ObjectName m2 = transaction.createModule(factory.getImplementationName(), "middle2"); - ObjectName l1 = transaction.createModule(factory.getImplementationName(), "leaf1"); - - MultipleDependenciesModuleMXBean r1Proxy = transaction.newMXBeanProxy(r1, MultipleDependenciesModuleMXBean.class); - MultipleDependenciesModuleMXBean i1Proxy = transaction.newMXBeanProxy(m1, MultipleDependenciesModuleMXBean.class); - r1Proxy.setSingle(m1); - i1Proxy.setSingle(l1); - r1Proxy.setTestingDeps(asList(m2)); - transaction.commit(); - - configRegistryClient.createTransaction().commit(); - transaction = configRegistryClient.createTransaction(); - MultipleDependenciesModuleMXBean l1Proxy = transaction.newMXBeanProxy(l1, MultipleDependenciesModuleMXBean.class); - l1Proxy.setSimple(true); - transaction.commit(); - } - - @Test - public void testDestroyModuleDependency() throws Exception { - ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction(); - ObjectName r1 = transaction.createModule(factory.getImplementationName(), "root1"); - ObjectName m1 = transaction.createModule(factory.getImplementationName(), "middle1"); - - MultipleDependenciesModuleMXBean r1Proxy = transaction.newMXBeanProxy(r1, MultipleDependenciesModuleMXBean.class); - r1Proxy.setSingle(m1); - transaction.commit(); - - transaction = configRegistryClient.createTransaction(); - transaction.destroyModule(factory.getImplementationName(), "middle1"); - try { - transaction.commit(); - fail("Validation exception expected"); - } catch (ValidationException e) { - assertThat(e.getFailedValidations().keySet(), CoreMatchers.hasItem("multiple-dependencies")); - } - } -}