2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.controller.config.yang.bgp.parser.spi;
10 import java.util.List;
12 import javax.management.ObjectName;
14 import org.junit.Before;
15 import org.junit.Test;
16 import org.opendaylight.controller.config.api.jmx.CommitStatus;
17 import org.opendaylight.controller.config.manager.impl.AbstractConfigTest;
18 import org.opendaylight.controller.config.manager.impl.factoriesresolver.HardcodedModuleFactoriesResolver;
19 import org.opendaylight.controller.config.util.ConfigTransactionJMXClient;
21 public class SimpleBGPExtensionProviderContextModuleTest extends AbstractConfigTest {
23 private static final String FACTORY_NAME = SimpleBGPExtensionProviderContextModuleFactory.NAME;
24 private static final String INSTANCE_NAME = "bgp-extensions-impl";
27 public void setUp() throws Exception {
28 super.initConfigTransactionManagerImpl(new HardcodedModuleFactoriesResolver(mockedContext, new SimpleBGPExtensionProviderContextModuleFactory()));
32 public void testCreateBean() throws Exception {
33 CommitStatus status = createInstance();
34 assertBeanCount(1, FACTORY_NAME);
35 assertStatus(status, 1, 0, 0);
39 public void testReusingOldInstance() throws Exception {
41 ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();
42 assertBeanCount(1, FACTORY_NAME);
43 CommitStatus status = transaction.commit();
44 assertBeanCount(1, FACTORY_NAME);
45 assertStatus(status, 0, 0, 1);
48 private CommitStatus createInstance() throws Exception {
49 ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();
50 transaction.createModule(FACTORY_NAME, INSTANCE_NAME);
51 return transaction.commit();
54 public static ObjectName createBGPExtensionsModuleInstance(final ConfigTransactionJMXClient transaction,
55 final List<ObjectName> extensions) throws Exception {
56 final ObjectName objectName = transaction.createModule(FACTORY_NAME, INSTANCE_NAME);
57 SimpleBGPExtensionProviderContextModuleMXBean mxBean = transaction.newMXBeanProxy(objectName,
58 SimpleBGPExtensionProviderContextModuleMXBean.class);
59 mxBean.setExtension(extensions);