private static final String FACTORY_NAME = RIBImplModuleFactory.NAME;
private static final String TRANSACTION_NAME = "testTransaction";
- private static final String RIB_ID = "test";
- private static final String BGP_ID = "192.168.1.1";
+ protected static final RibId RIB_ID = new RibId("test");
+ protected static final Ipv4Address BGP_ID = new Ipv4Address("192.168.1.1");
private static final String SESSION_RS_INSTANCE_NAME = "session-reconnect-strategy-factory";
private static final String TCP_RS_INSTANCE_NAME = "tcp-reconnect-strategy-factory";
}
protected ObjectName createRIBImplModuleInstance(final ConfigTransactionJMXClient transaction) throws Exception {
- return createRIBImplModuleInstance(transaction, new RibId(RIB_ID), 5000L, new Ipv4Address(BGP_ID),
+ return createRIBImplModuleInstance(transaction, RIB_ID, 5000L, BGP_ID,
createAsyncDataBrokerInstance(transaction));
}
public ObjectName createRIBImplModuleInstance(final ConfigTransactionJMXClient transaction, final ObjectName dataBroker)
throws Exception {
- return createRIBImplModuleInstance(transaction, new RibId(RIB_ID), 5000L, new Ipv4Address(BGP_ID), dataBroker);
+ return createRIBImplModuleInstance(transaction, RIB_ID, 5000L, BGP_ID, dataBroker);
}
public ObjectName createAsyncDataBrokerInstance(final ConfigTransactionJMXClient transaction) throws InstanceAlreadyExistsException, InstanceNotFoundException {
--- /dev/null
+/*
+ * 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.bgp.rib.impl;
+
+import static org.junit.Assert.assertEquals;
+
+import java.util.List;
+import javax.management.InstanceNotFoundException;
+import javax.management.ObjectName;
+import org.junit.Test;
+import org.opendaylight.controller.config.api.jmx.CommitStatus;
+import org.opendaylight.controller.config.spi.ModuleFactory;
+import org.opendaylight.controller.config.util.ConfigTransactionJMXClient;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.ApplicationRibId;
+
+public class BGPApplicationPeerModuleTest extends AbstractRIBImplModuleTest {
+
+ private static final String INSTANCE_NAME = "application-peer-instance";
+ private static final String FACTORY_NAME = BGPApplicationPeerModuleFactory.NAME;
+ private static final ApplicationRibId APP_RIB_ID = new ApplicationRibId("application-peer-test");
+ private static final ApplicationRibId NEW_APP_RIB_ID = new ApplicationRibId("new-application-peer-name");
+
+ @Override
+ protected List<ModuleFactory> getModuleFactories() {
+ final List<ModuleFactory> moduleFactories = super.getModuleFactories();
+ moduleFactories.add(new BGPApplicationPeerModuleFactory());
+ return moduleFactories;
+ }
+
+ @Test
+ public void testCreateInstance() throws Exception {
+ final CommitStatus status = createApplicationPeerInsatnce();
+ assertBeanCount(1, FACTORY_NAME);
+ assertStatus(status, 15, 0, 0);
+ }
+
+ @Test
+ public void testReusingOldInstance() throws Exception {
+ createApplicationPeerInsatnce();
+ final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
+ assertBeanCount(1, FACTORY_NAME);
+ final CommitStatus status = transaction.commit();
+ assertBeanCount(1, FACTORY_NAME);
+ assertStatus(status, 0, 0, 15);
+ }
+
+ @Test
+ public void testReconfigure() throws Exception {
+ createApplicationPeerInsatnce();
+ final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
+ assertBeanCount(1, FACTORY_NAME);
+ final BGPApplicationPeerModuleMXBean mxBean = transaction.newMXBeanProxy(transaction.lookupConfigBean(FACTORY_NAME, INSTANCE_NAME),
+ BGPApplicationPeerModuleMXBean.class);
+ mxBean.setApplicationRibId(new ApplicationRibId(NEW_APP_RIB_ID));
+ final CommitStatus status = transaction.commit();
+ assertBeanCount(1, FACTORY_NAME);
+ assertStatus(status, 0, 1, 14);
+ assertEquals(NEW_APP_RIB_ID, getApplicationRibId());
+ }
+
+ private CommitStatus createApplicationPeerInsatnce() throws Exception {
+ final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
+ final ObjectName objName = transaction.createModule(BGPApplicationPeerModuleFactory.NAME, INSTANCE_NAME);
+ final BGPApplicationPeerModuleMXBean mxBean = transaction.newMXBeanProxy(objName, BGPApplicationPeerModuleMXBean.class);
+ final ObjectName dataBrokerON = createAsyncDataBrokerInstance(transaction);
+ mxBean.setDataBroker(dataBrokerON);
+ mxBean.setBgpId(BGP_ID);
+ mxBean.setApplicationRibId(APP_RIB_ID);
+ mxBean.setTargetRib(createRIBImplModuleInstance(transaction, dataBrokerON));
+ return transaction.commit();
+ }
+
+ private ApplicationRibId getApplicationRibId() throws InstanceNotFoundException {
+ final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
+ final BGPApplicationPeerModuleMXBean mxBean = transaction.newMXBeanProxy(transaction.lookupConfigBean(FACTORY_NAME, INSTANCE_NAME),
+ BGPApplicationPeerModuleMXBean.class);
+ return mxBean.getApplicationRibId();
+ }
+
+}
--- /dev/null
+/*
+ * 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.bgp.rib.impl;
+
+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 BaseBGPParserModuleTest extends AbstractConfigTest {
+
+ private static final String INSTANCE_NAME = "bgp-parser-instance";
+ private static final String FACTORY_NAME = BaseBGPParserModuleFactory.NAME;
+
+ @Before
+ public void setUp() throws Exception {
+ super.initConfigTransactionManagerImpl(new HardcodedModuleFactoriesResolver(this.mockedContext, new BaseBGPParserModuleFactory()));
+ }
+
+ @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();
+ }
+}
--- /dev/null
+/*
+ * 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.bgp.rib.impl;
+
+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 BaseBGPRIBModuleTest extends AbstractConfigTest {
+
+ private static final String INSTANCE_NAME = "bgp-rib-instance";
+ private static final String FACTORY_NAME = BaseBGPRIBModuleFactory.NAME;
+
+ @Before
+ public void setUp() throws Exception {
+ super.initConfigTransactionManagerImpl(new HardcodedModuleFactoriesResolver(this.mockedContext, new BaseBGPRIBModuleFactory()));
+ }
+
+ @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();
+ }
+}
import org.opendaylight.controller.config.api.ValidationException;
import org.opendaylight.controller.config.api.jmx.CommitStatus;
import org.opendaylight.controller.config.util.ConfigTransactionJMXClient;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.RibId;
public class RIBImplModuleTest extends AbstractRIBImplModuleTest {
private static final String INSTANCE_NAME = "rib-impl";
private static final String FACTORY_NAME = RIBImplModuleFactory.NAME;
- private static final String RIB_ID = "test";
- private static final String BGP_ID = "192.168.1.1";
-
@Test
public void testValidationExceptionRibIdNotSet() throws Exception {
try {
- createRIBImplModuleInstance(null, 500L, new Ipv4Address(BGP_ID));
+ createRIBImplModuleInstance(null, 500L, BGP_ID);
fail();
} catch (final ValidationException e) {
assertTrue(e.getMessage().contains("RibId is not set."));
@Test
public void testValidationExceptionLocalAsNotSet() throws Exception {
try {
- createRIBImplModuleInstance(new RibId(RIB_ID), null, new Ipv4Address(BGP_ID));
+ createRIBImplModuleInstance(RIB_ID, null, BGP_ID);
fail();
} catch (final ValidationException e) {
assertTrue(e.getMessage().contains("LocalAs is not set."));
@Test
public void testValidationExceptionBgpIdNotSet() throws Exception {
try {
- createRIBImplModuleInstance(new RibId(RIB_ID), 500L, null);
+ createRIBImplModuleInstance(RIB_ID, 500L, null);
fail();
} catch (final ValidationException e) {
assertTrue(e.getMessage().contains("BgpId is not set."));