X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=bgp%2Fbmp-spi%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fyang%2Fbmp%2Fspi%2FSimpleBmpExtensionProviderContextModuleTest.java;fp=bgp%2Fbmp-spi%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fyang%2Fbmp%2Fspi%2FSimpleBmpExtensionProviderContextModuleTest.java;h=a1804f82157e1429026e869cef71d42cf7c2853e;hb=80a88f4c6c8ed2b0e1b0747170a1ab24bd7bcf5c;hp=0000000000000000000000000000000000000000;hpb=4f06db713359c84598bbecb3bfeb4bf5d86eb2f5;p=bgpcep.git diff --git a/bgp/bmp-spi/src/test/java/org/opendaylight/controller/config/yang/bmp/spi/SimpleBmpExtensionProviderContextModuleTest.java b/bgp/bmp-spi/src/test/java/org/opendaylight/controller/config/yang/bmp/spi/SimpleBmpExtensionProviderContextModuleTest.java new file mode 100644 index 0000000000..a1804f8215 --- /dev/null +++ b/bgp/bmp-spi/src/test/java/org/opendaylight/controller/config/yang/bmp/spi/SimpleBmpExtensionProviderContextModuleTest.java @@ -0,0 +1,58 @@ +/* + * Copyright (c) 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.yang.bmp.spi; + +import java.util.List; +import javax.management.ObjectName; +import org.junit.Before; +import org.junit.Test; +import org.opendaylight.controller.config.api.jmx.CommitStatus; +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 SimpleBmpExtensionProviderContextModuleTest extends AbstractConfigTest { + private static final String FACTORY_NAME = SimpleBmpExtensionProviderContextModuleFactory.NAME; + private static final String INSTANCE_NAME = "bgp-bmp-extensions-impl"; + + @Before + public void setUp() throws Exception { + super.initConfigTransactionManagerImpl(new HardcodedModuleFactoriesResolver(this.mockedContext, new SimpleBmpExtensionProviderContextModuleFactory())); + } + + @Test + public void testCreateBean() throws Exception { + final CommitStatus status = createInstance(); + assertBeanCount(1, FACTORY_NAME); + assertStatus(status, 1, 0, 0); + } + + @Test + public void testReusingOldInstance() throws Exception { + createInstance(); + final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction(); + assertBeanCount(1, FACTORY_NAME); + final CommitStatus status = transaction.commit(); + assertBeanCount(1, FACTORY_NAME); + assertStatus(status, 0, 0, 1); + } + + private CommitStatus createInstance() throws Exception { + final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction(); + transaction.createModule(FACTORY_NAME, INSTANCE_NAME); + return transaction.commit(); + } + + public static ObjectName createSimpleBmpExtensionProviderContextModuleInstance(final ConfigTransactionJMXClient transaction, + final List extensions) throws Exception { + final ObjectName objectName = transaction.createModule(FACTORY_NAME, INSTANCE_NAME); + final SimpleBmpExtensionProviderContextModuleMXBean mxBean = transaction.newMXBeanProxy(objectName, SimpleBmpExtensionProviderContextModuleMXBean.class); + mxBean.setExtension(extensions); + return objectName; + } +}