Fixed rib-impl-config modules tests. 49/3449/1
authorMilos Fabian <milfabia@cisco.com>
Fri, 22 Nov 2013 08:07:36 +0000 (09:07 +0100)
committerMilos Fabian <milfabia@cisco.com>
Wed, 4 Dec 2013 13:43:54 +0000 (14:43 +0100)
Change-Id: I8cc8e0238877ce53a91456503d3d101e4b85ea7d
Signed-off-by: Milos Fabian <milfabia@cisco.com>
bgp/rib-impl-config/src/test/java/org/opendaylight/controller/config/yang/bgp/reconnectstrategy/GlobalEventExecutorUtil.java
bgp/rib-impl-config/src/test/java/org/opendaylight/controller/config/yang/bgp/reconnectstrategy/NeverReconnectStrategyModuleTest.java
bgp/rib-impl-config/src/test/java/org/opendaylight/controller/config/yang/bgp/reconnectstrategy/ReconnectImmediatelyStrategyModuleTest.java
bgp/rib-impl-config/src/test/java/org/opendaylight/controller/config/yang/bgp/reconnectstrategy/TimedReconnectStrategyModuleTest.java
bgp/rib-impl-config/src/test/java/org/opendaylight/controller/config/yang/bgp/rib/impl/BGPDispatcherImplModuleTest.java
bgp/rib-impl-config/src/test/java/org/opendaylight/controller/config/yang/bgp/rib/impl/BGPImplModuleTest.java
bgp/rib-impl-config/src/test/java/org/opendaylight/controller/config/yang/bgp/rib/impl/BGPSessionProposalImplModuleTest.java
bgp/rib-impl-config/src/test/java/org/opendaylight/controller/config/yang/bgp/rib/impl/RIBImplModuleTest.java

index 2f101f565b7389e39529d94dcabb1abe0660f0f5..245f3ffabe08e56e39ca6b56f6fe707b90825dbd 100644 (file)
@@ -1,3 +1,10 @@
+/*
+ * Copyright (c) 2013 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.reconnectstrategy;
 
 import javax.management.InstanceAlreadyExistsException;
index 90f4a5ee85b4cf43bab39a497665aaa198fbfaa9..a95633ae4df1865adeb860cd18b65162aa490737 100644 (file)
@@ -1,3 +1,10 @@
+/*
+ * Copyright (c) 2013 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.reconnectstrategy;
 
 import static org.junit.Assert.assertTrue;
index 10b1cfcbc764e73264c57266e42cf7cb8e5b6252..bd201e85bd8b20beab67b2e3d74ca1f932ddf67e 100644 (file)
@@ -1,3 +1,10 @@
+/*
+ * Copyright (c) 2013 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.reconnectstrategy;
 
 import static org.junit.Assert.assertTrue;
index 658275d7085a41b0c244adf5ce0bc815b063cd09..8174a73a44627f9c8c4594e4cbdf9a45b47e3b6a 100644 (file)
@@ -1,3 +1,10 @@
+/*
+ * Copyright (c) 2013 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.reconnectstrategy;
 
 import static org.junit.Assert.assertEquals;
@@ -26,6 +33,8 @@ import org.opendaylight.controller.config.yang.reconnectstrategy.TimedReconnectS
 public class TimedReconnectStrategyModuleTest extends AbstractConfigTest {
 
        private final String instanceName = "timed";
+       
+       private final String EXECUTOR_INSTANCE_NAME = "global-event-executor-insatnce"; 
 
        private TimedReconnectStrategyModuleFactory factory;
 
@@ -46,7 +55,7 @@ public class TimedReconnectStrategyModuleTest extends AbstractConfigTest {
                        ConfigTransactionJMXClient transaction = configRegistryClient
                                        .createTransaction();
                        createInstance(transaction, this.factory.getImplementationName(), instanceName, 500, 100L, null, 500L,
-                                       10L, 10000L, this.executorFactory.getImplementationName());
+                                       10L, 10000L, this.executorFactory.getImplementationName(), EXECUTOR_INSTANCE_NAME);
                        transaction.validateConfig();
                        fail();
                } catch (ValidationException e) {
@@ -61,7 +70,8 @@ public class TimedReconnectStrategyModuleTest extends AbstractConfigTest {
                        ConfigTransactionJMXClient transaction = configRegistryClient
                                        .createTransaction();
                        createInstance(transaction, this.factory.getImplementationName(), instanceName, 500, 100L,
-                                       new BigDecimal(0.5), 500L, 10L, 10000L, this.executorFactory.getImplementationName());
+                                       new BigDecimal(0.5), 500L, 10L, 10000L, this.executorFactory.getImplementationName(),
+                                       EXECUTOR_INSTANCE_NAME);
                        transaction.validateConfig();
                        fail();
                } catch (ValidationException e) {
@@ -76,7 +86,8 @@ public class TimedReconnectStrategyModuleTest extends AbstractConfigTest {
                        ConfigTransactionJMXClient transaction = configRegistryClient
                                        .createTransaction();
                        createInstance(transaction, this.factory.getImplementationName(), instanceName, null, 100L,
-                                       new BigDecimal(1.0), 500L, 10L, 10000L, this.executorFactory.getImplementationName());
+                                       new BigDecimal(1.0), 500L, 10L, 10000L, this.executorFactory.getImplementationName(), 
+                                       EXECUTOR_INSTANCE_NAME);
                        transaction.validateConfig();
                        fail();
                } catch (ValidationException e) {
@@ -91,7 +102,8 @@ public class TimedReconnectStrategyModuleTest extends AbstractConfigTest {
                        ConfigTransactionJMXClient transaction = configRegistryClient
                                        .createTransaction();
                        createInstance(transaction, this.factory.getImplementationName(), instanceName, -1, 100L, new BigDecimal(
-                                       1.0), 500L, 10L, 10000L, this.executorFactory.getImplementationName());
+                                       1.0), 500L, 10L, 10000L, this.executorFactory.getImplementationName(),
+                                       EXECUTOR_INSTANCE_NAME);
                        transaction.validateConfig();
                        fail();
                } catch (ValidationException e) {
@@ -106,7 +118,8 @@ public class TimedReconnectStrategyModuleTest extends AbstractConfigTest {
                        ConfigTransactionJMXClient transaction = configRegistryClient
                                        .createTransaction();
                        createInstance(transaction, this.factory.getImplementationName(), instanceName, 100, null,
-                                       new BigDecimal(1.0), 100L, 10L, 10000L, this.executorFactory.getImplementationName());
+                                       new BigDecimal(1.0), 100L, 10L, 10000L, this.executorFactory.getImplementationName(),
+                                       EXECUTOR_INSTANCE_NAME);
                        transaction.validateConfig();
                        fail();
                } catch (ValidationException e) {
@@ -121,7 +134,8 @@ public class TimedReconnectStrategyModuleTest extends AbstractConfigTest {
                        ConfigTransactionJMXClient transaction = configRegistryClient
                                        .createTransaction();
                        createInstance(transaction, this.factory.getImplementationName(), instanceName, 100, 300L,
-                                       new BigDecimal(1.0), 100L, 10L, 10000L, this.executorFactory.getImplementationName());
+                                       new BigDecimal(1.0), 100L, 10L, 10000L, this.executorFactory.getImplementationName(),
+                                       EXECUTOR_INSTANCE_NAME);
                        transaction.validateConfig();
                        fail();
                } catch (ValidationException e) {
@@ -135,7 +149,8 @@ public class TimedReconnectStrategyModuleTest extends AbstractConfigTest {
                ConfigTransactionJMXClient transaction = configRegistryClient
                                .createTransaction();
                createInstance(transaction, this.factory.getImplementationName(), instanceName, 500, 100L,
-                               new BigDecimal(1.0), 500L, 10L, 10000L, this.executorFactory.getImplementationName());
+                               new BigDecimal(1.0), 500L, 10L, 10000L, this.executorFactory.getImplementationName(),
+                               EXECUTOR_INSTANCE_NAME);
                transaction.validateConfig();
                CommitStatus status = transaction.commit();
                assertBeanCount(1, factory.getImplementationName());
@@ -148,7 +163,8 @@ public class TimedReconnectStrategyModuleTest extends AbstractConfigTest {
                ConfigTransactionJMXClient transaction = configRegistryClient
                                .createTransaction();
                createInstance(transaction, this.factory.getImplementationName(), instanceName, 500, 100L,
-                               new BigDecimal(1.0), 500L, 10L, 10000L, this.executorFactory.getImplementationName());
+                               new BigDecimal(1.0), 500L, 10L, 10000L, this.executorFactory.getImplementationName(),
+                               EXECUTOR_INSTANCE_NAME);
                transaction.commit();
                transaction = configRegistryClient.createTransaction();
                assertBeanCount(1, factory.getImplementationName());
@@ -165,7 +181,7 @@ public class TimedReconnectStrategyModuleTest extends AbstractConfigTest {
                                .createTransaction();
                createInstance(transaction, this.factory.getImplementationName(), instanceName, 500, 100L,
                                new BigDecimal(1.0), new Long(500), new Long(10), new Long(
-                                               10000), this.executorFactory.getImplementationName());
+                                               10000), this.executorFactory.getImplementationName(),EXECUTOR_INSTANCE_NAME);
                transaction.commit();
                transaction = configRegistryClient.createTransaction();
                assertBeanCount(1, factory.getImplementationName());
@@ -188,7 +204,7 @@ public class TimedReconnectStrategyModuleTest extends AbstractConfigTest {
                        final String instanceName, final Integer connectTime,
                        final Long minSleep, final BigDecimal sleepFactor,
                        final Long maxSleep, final Long maxAttempts, final Long deadline,
-                       final String executorModuleName) throws InstanceAlreadyExistsException {
+                       final String executorModuleName, final String executorInstanceName) throws InstanceAlreadyExistsException {
                ObjectName nameCreated = transaction.createModule(
                                moduleName, instanceName);
                TimedReconnectStrategyModuleMXBean mxBean = transaction.newMBeanProxy(
@@ -199,7 +215,7 @@ public class TimedReconnectStrategyModuleTest extends AbstractConfigTest {
                mxBean.setMaxSleep(maxSleep);
                mxBean.setMinSleep(minSleep);
                mxBean.setSleepFactor(sleepFactor);
-               mxBean.setExecutor(GlobalEventExecutorUtil.createInstance(transaction, executorModuleName, "global-event-executor"));
+               mxBean.setExecutor(GlobalEventExecutorUtil.createInstance(transaction, executorModuleName, executorInstanceName));
                return nameCreated;
        }
 
index 0d2f298ac09be78f7ee0b39721cb8aac1307496a..9e296a63fe248d81a51bd77e8c3dd6222f786982 100644 (file)
@@ -1,10 +1,16 @@
+/*
+ * Copyright (c) 2013 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 javax.management.InstanceAlreadyExistsException;
 import javax.management.ObjectName;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.opendaylight.controller.config.api.ConflictingVersionException;
 import org.opendaylight.controller.config.api.ValidationException;
@@ -12,11 +18,12 @@ 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;
+import org.opendaylight.controller.config.yang.bgp.parser.spi.SimpleBGPExtensionProviderContextModuleFactory;
+import org.opendaylight.controller.config.yang.bgp.parser.spi.SimpleBGPExtensionProviderContextModuleMXBean;
 import org.opendaylight.controller.config.yang.bgp.rib.spi.RIBExtensionsImplModuleFactory;
 import org.opendaylight.controller.config.yang.netty.threadgroup.NettyThreadgroupModuleFactory;
 import org.opendaylight.controller.config.yang.netty.threadgroup.NettyThreadgroupModuleMXBean;
 
-@Ignore
 public class BGPDispatcherImplModuleTest extends AbstractConfigTest {
 
        private final String instanceName = "bgp-message-fct";
@@ -27,19 +34,22 @@ public class BGPDispatcherImplModuleTest extends AbstractConfigTest {
 
        private RIBExtensionsImplModuleFactory messageFactory;
 
+       private SimpleBGPExtensionProviderContextModuleFactory extensionFactory;
+       
        @Before
        public void setUp() throws Exception {
                this.factory = new BGPDispatcherImplModuleFactory();
                this.threadgroupFactory = new NettyThreadgroupModuleFactory();
                this.messageFactory = new RIBExtensionsImplModuleFactory();
-               super.initConfigTransactionManagerImpl(new HardcodedModuleFactoriesResolver(this.factory, threadgroupFactory, messageFactory));
+               this.extensionFactory = new SimpleBGPExtensionProviderContextModuleFactory();
+               super.initConfigTransactionManagerImpl(new HardcodedModuleFactoriesResolver(this.factory, threadgroupFactory, messageFactory, extensionFactory));
        }
 
        @Test
        public void testCreateBean() throws Exception {
                ConfigTransactionJMXClient transaction = configRegistryClient
                                .createTransaction();
-               createInstance(transaction, this.factory.getImplementationName(), instanceName, this.threadgroupFactory.getImplementationName(), this.messageFactory.getImplementationName());
+               createInstance(transaction, this.factory.getImplementationName(), instanceName, this.threadgroupFactory.getImplementationName(), this.messageFactory.getImplementationName(), this.extensionFactory.getImplementationName());
                transaction.validateConfig();
                CommitStatus status = transaction.commit();
                assertBeanCount(1, factory.getImplementationName());
@@ -51,7 +61,7 @@ public class BGPDispatcherImplModuleTest extends AbstractConfigTest {
        ConflictingVersionException, ValidationException {
                ConfigTransactionJMXClient transaction = configRegistryClient
                                .createTransaction();
-               createInstance(transaction, this.factory.getImplementationName(), instanceName, this.threadgroupFactory.getImplementationName(), this.messageFactory.getImplementationName());
+               createInstance(transaction, this.factory.getImplementationName(), instanceName, this.threadgroupFactory.getImplementationName(), this.messageFactory.getImplementationName(), this.extensionFactory.getImplementationName());
                transaction.commit();
                transaction = configRegistryClient.createTransaction();
                assertBeanCount(1, factory.getImplementationName());
@@ -61,14 +71,14 @@ public class BGPDispatcherImplModuleTest extends AbstractConfigTest {
        }
 
        public static ObjectName createInstance(final ConfigTransactionJMXClient transaction, final String moduleName,
-                       final String instanceName, final String threadgropuModuleName, final String messageFactoryModuleName) throws InstanceAlreadyExistsException {
+                       final String instanceName, final String threadgropuModuleName, final String messageFactoryModuleName, final String extensionModuleName) throws InstanceAlreadyExistsException {
                ObjectName nameCreated = transaction.createModule(
                                moduleName, instanceName);
                BGPDispatcherImplModuleMXBean mxBean = transaction.newMBeanProxy(
                                nameCreated, BGPDispatcherImplModuleMXBean.class);
                mxBean.setBossGroup(createThreadgroupInstance(transaction, threadgropuModuleName, "boss-threadgroup", 10));
                mxBean.setWorkerGroup(createThreadgroupInstance(transaction, threadgropuModuleName, "worker-threadgroup", 10));
-               //mxBean.setMessageFactory(BGPMessageFactoryImplModuleTest.createInstance(transaction, messageFactoryModuleName, "bgp-msg-fct"));
+               mxBean.setBgpExtensions(createBgpExtensionsInstance(transaction, extensionModuleName, "bgp-extensions"));
                return nameCreated;
        }
 
@@ -83,4 +93,15 @@ public class BGPDispatcherImplModuleTest extends AbstractConfigTest {
                mxBean.setThreadCount(threadCount);
                return nameCreated;
        }
+       
+       public static ObjectName createBgpExtensionsInstance(
+                       final ConfigTransactionJMXClient transaction,
+                       final String moduleName, final String instanceName)
+                       throws InstanceAlreadyExistsException {
+               ObjectName nameCreated = transaction.createModule(moduleName,
+                               instanceName);
+               transaction.newMBeanProxy(nameCreated,
+                               SimpleBGPExtensionProviderContextModuleMXBean.class);
+               return nameCreated;
+       }
 }
index 42f2303e8ef745ad415aaa74d2b2da1fe1e7bf8d..c73c8a51b3b1a892203cd677e389c43c5da8d80d 100644 (file)
@@ -1,3 +1,10 @@
+/*
+ * Copyright (c) 2013 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.assertTrue;
@@ -8,7 +15,6 @@ import javax.management.InstanceNotFoundException;
 import javax.management.ObjectName;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.opendaylight.controller.config.api.ConflictingVersionException;
 import org.opendaylight.controller.config.api.ValidationException;
@@ -16,10 +22,10 @@ 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;
+import org.opendaylight.controller.config.yang.bgp.parser.spi.SimpleBGPExtensionProviderContextModuleFactory;
 import org.opendaylight.controller.config.yang.bgp.rib.spi.RIBExtensionsImplModuleFactory;
 import org.opendaylight.controller.config.yang.netty.threadgroup.NettyThreadgroupModuleFactory;
 
-@Ignore
 public class BGPImplModuleTest extends AbstractConfigTest {
 
        private final String instanceName = "bgp-impl1";
@@ -34,6 +40,8 @@ public class BGPImplModuleTest extends AbstractConfigTest {
 
        private RIBExtensionsImplModuleFactory messageFactory;
 
+       private SimpleBGPExtensionProviderContextModuleFactory extensionFactory;
+       
        @Before
        public void setUp() throws Exception {
                this.factory = new BGPImplModuleFactory();
@@ -41,7 +49,9 @@ public class BGPImplModuleTest extends AbstractConfigTest {
                this.sessionFacotry = new BGPSessionProposalImplModuleFactory();
                this.threadgropFactory = new NettyThreadgroupModuleFactory();
                this.messageFactory = new RIBExtensionsImplModuleFactory();
-               super.initConfigTransactionManagerImpl(new HardcodedModuleFactoriesResolver(this.factory, this.dispactherFactory, this.sessionFacotry, this.messageFactory, this.threadgropFactory));
+               this.extensionFactory = new SimpleBGPExtensionProviderContextModuleFactory();
+               super.initConfigTransactionManagerImpl(new HardcodedModuleFactoriesResolver(this.factory, this.dispactherFactory, 
+                               this.sessionFacotry, this.messageFactory, this.threadgropFactory, this.extensionFactory));
        }
 
        @Test
@@ -50,7 +60,9 @@ public class BGPImplModuleTest extends AbstractConfigTest {
                try {
                        ConfigTransactionJMXClient transaction = configRegistryClient
                                        .createTransaction();
-                       createInstance(transaction, this.factory.getImplementationName(), instanceName, "localhost", null, sessionFacotry.getImplementationName(), dispactherFactory.getImplementationName(), threadgropFactory.getImplementationName(), messageFactory.getImplementationName());
+                       createInstance(transaction, this.factory.getImplementationName(), instanceName, "localhost", null, sessionFacotry.getImplementationName(), 
+                                       dispactherFactory.getImplementationName(), threadgropFactory.getImplementationName(), 
+                                       messageFactory.getImplementationName(), this.extensionFactory.getImplementationName());
                        transaction.validateConfig();
                        fail();
                } catch (ValidationException e) {
@@ -64,7 +76,7 @@ public class BGPImplModuleTest extends AbstractConfigTest {
                try {
                        ConfigTransactionJMXClient transaction = configRegistryClient
                                        .createTransaction();
-                       createInstance(transaction, this.factory.getImplementationName(), instanceName, "localhost", -1, sessionFacotry.getImplementationName(), dispactherFactory.getImplementationName(), threadgropFactory.getImplementationName(), messageFactory.getImplementationName());
+                       createInstance(transaction, this.factory.getImplementationName(), instanceName, "localhost", -1, sessionFacotry.getImplementationName(), dispactherFactory.getImplementationName(), threadgropFactory.getImplementationName(), messageFactory.getImplementationName(), this.extensionFactory.getImplementationName());
                        transaction.validateConfig();
                        fail();
                } catch (ValidationException e) {
@@ -78,7 +90,7 @@ public class BGPImplModuleTest extends AbstractConfigTest {
                try {
                        ConfigTransactionJMXClient transaction = configRegistryClient
                                        .createTransaction();
-                       createInstance(transaction, this.factory.getImplementationName(), instanceName, null, 1, sessionFacotry.getImplementationName(), dispactherFactory.getImplementationName(), threadgropFactory.getImplementationName(), messageFactory.getImplementationName());
+                       createInstance(transaction, this.factory.getImplementationName(), instanceName, null, 1, sessionFacotry.getImplementationName(), dispactherFactory.getImplementationName(), threadgropFactory.getImplementationName(), messageFactory.getImplementationName(), this.extensionFactory.getImplementationName());
                        transaction.validateConfig();
                        fail();
                } catch (ValidationException e) {
@@ -90,7 +102,7 @@ public class BGPImplModuleTest extends AbstractConfigTest {
        public void testCreateBean() throws Exception {
                ConfigTransactionJMXClient transaction = configRegistryClient
                                .createTransaction();
-               createInstance(transaction, this.factory.getImplementationName(), instanceName, "localhost", 1, sessionFacotry.getImplementationName(), dispactherFactory.getImplementationName(), threadgropFactory.getImplementationName(), messageFactory.getImplementationName());
+               createInstance(transaction, this.factory.getImplementationName(), instanceName, "localhost", 1, sessionFacotry.getImplementationName(), dispactherFactory.getImplementationName(), threadgropFactory.getImplementationName(), messageFactory.getImplementationName(), this.extensionFactory.getImplementationName());
                transaction.validateConfig();
                CommitStatus status = transaction.commit();
                assertBeanCount(1, factory.getImplementationName());
@@ -102,7 +114,7 @@ public class BGPImplModuleTest extends AbstractConfigTest {
        ConflictingVersionException, ValidationException {
                ConfigTransactionJMXClient transaction = configRegistryClient
                                .createTransaction();
-               createInstance(transaction, this.factory.getImplementationName(), instanceName, "localhost", 1, sessionFacotry.getImplementationName(), dispactherFactory.getImplementationName(), threadgropFactory.getImplementationName(), messageFactory.getImplementationName());
+               createInstance(transaction, this.factory.getImplementationName(), instanceName, "localhost", 1, sessionFacotry.getImplementationName(), dispactherFactory.getImplementationName(), threadgropFactory.getImplementationName(), messageFactory.getImplementationName(), this.extensionFactory.getImplementationName());
                transaction.commit();
                transaction = configRegistryClient.createTransaction();
                assertBeanCount(1, factory.getImplementationName());
@@ -117,7 +129,7 @@ public class BGPImplModuleTest extends AbstractConfigTest {
        InstanceNotFoundException {
                ConfigTransactionJMXClient transaction = configRegistryClient
                                .createTransaction();
-               createInstance(transaction, this.factory.getImplementationName(), instanceName, "localhost", 1, sessionFacotry.getImplementationName(), dispactherFactory.getImplementationName(), threadgropFactory.getImplementationName(), messageFactory.getImplementationName());
+               createInstance(transaction, this.factory.getImplementationName(), instanceName, "localhost", 1, sessionFacotry.getImplementationName(), dispactherFactory.getImplementationName(), threadgropFactory.getImplementationName(), messageFactory.getImplementationName(), this.extensionFactory.getImplementationName());
                transaction.commit();
                transaction = configRegistryClient.createTransaction();
                assertBeanCount(1, factory.getImplementationName());
@@ -132,7 +144,7 @@ public class BGPImplModuleTest extends AbstractConfigTest {
        }
 
        public static ObjectName createInstance(final ConfigTransactionJMXClient transaction, final String moduleName,
-                       final String instanceName, final String host, final Integer port, final String sessionModuleName, final String dispatcherModuleName, final String threadgroupModuleName, final String messageFactoryModuleName) throws InstanceAlreadyExistsException {
+                       final String instanceName, final String host, final Integer port, final String sessionModuleName, final String dispatcherModuleName, final String threadgroupModuleName, final String messageFactoryModuleName, final String extensionModuleName) throws InstanceAlreadyExistsException {
                ObjectName nameCreated = transaction.createModule(
                                moduleName, instanceName);
                BGPImplModuleMXBean mxBean = transaction.newMBeanProxy(
@@ -140,7 +152,7 @@ public class BGPImplModuleTest extends AbstractConfigTest {
                mxBean.setHost(host);
                mxBean.setPort(port);
                mxBean.setBgpProposal(BGPSessionProposalImplModuleTest.createInstance(transaction, sessionModuleName, "bgp-session1", 1, (short)30, "128.0.0.1"));
-               mxBean.setBgpDispatcher(BGPDispatcherImplModuleTest.createInstance(transaction, dispatcherModuleName, "bgp-dispatcher1", threadgroupModuleName, messageFactoryModuleName));
+               mxBean.setBgpDispatcher(BGPDispatcherImplModuleTest.createInstance(transaction, dispatcherModuleName, "bgp-dispatcher1", threadgroupModuleName, messageFactoryModuleName, extensionModuleName));
                return nameCreated;
        }
 
index 60afab6e6148de9b7ddaa6d1f70f88e14b3d90c7..a5b0ee7862547bde682fd49275947a3696dc09b6 100644 (file)
@@ -1,3 +1,10 @@
+/*
+ * Copyright (c) 2013 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.assertTrue;
@@ -8,7 +15,6 @@ import javax.management.InstanceNotFoundException;
 import javax.management.ObjectName;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.opendaylight.controller.config.api.ConflictingVersionException;
 import org.opendaylight.controller.config.api.ValidationException;
@@ -17,7 +23,6 @@ import org.opendaylight.controller.config.manager.impl.AbstractConfigTest;
 import org.opendaylight.controller.config.manager.impl.factoriesresolver.HardcodedModuleFactoriesResolver;
 import org.opendaylight.controller.config.util.ConfigTransactionJMXClient;
 
-@Ignore
 public class BGPSessionProposalImplModuleTest extends AbstractConfigTest {
 
        private final String instanceName = "bgp-session-prop";
index 3c98bb6d2b974738c0961deb27668d1adc857c9c..49606955ddc5b10b6743428544d690d49660216f 100644 (file)
@@ -1,3 +1,10 @@
+/*
+ * Copyright (c) 2013 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 java.io.Closeable;
@@ -5,11 +12,11 @@ import java.math.BigDecimal;
 import java.util.Dictionary;
 
 import javax.management.InstanceAlreadyExistsException;
-import javax.management.MalformedObjectNameException;
+import javax.management.InstanceNotFoundException;
 import javax.management.ObjectName;
 
+import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.mockito.Matchers;
 import org.mockito.Mockito;
@@ -17,55 +24,70 @@ 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;
+import org.opendaylight.controller.config.yang.bgp.parser.spi.SimpleBGPExtensionProviderContextModuleFactory;
 import org.opendaylight.controller.config.yang.bgp.reconnectstrategy.TimedReconnectStrategyModuleTest;
 import org.opendaylight.controller.config.yang.bgp.rib.spi.RIBExtensionsImplModuleFactory;
-import org.opendaylight.controller.config.yang.md.sal.binding.impl.BindingBrokerImplModuleFactory;
-import org.opendaylight.controller.config.yang.md.sal.binding.impl.BindingBrokerImplModuleMXBean;
+import org.opendaylight.controller.config.yang.bgp.rib.spi.RIBExtensionsImplModuleMXBean;
+import org.opendaylight.controller.config.yang.md.sal.binding.impl.DataBrokerImplModuleFactory;
+import org.opendaylight.controller.config.yang.md.sal.binding.impl.DataBrokerImplModuleMXBean;
+import org.opendaylight.controller.config.yang.md.sal.binding.impl.RuntimeMappingModuleFactory;
+import org.opendaylight.controller.config.yang.md.sal.dom.impl.DomBrokerImplModuleFactory;
+import org.opendaylight.controller.config.yang.md.sal.dom.impl.DomBrokerImplModuleMXBean;
+import org.opendaylight.controller.config.yang.md.sal.dom.impl.HashMapDataStoreModuleFactory;
+import org.opendaylight.controller.config.yang.md.sal.dom.impl.HashMapDataStoreModuleMXBean;
 import org.opendaylight.controller.config.yang.netty.eventexecutor.GlobalEventExecutorModuleFactory;
 import org.opendaylight.controller.config.yang.netty.threadgroup.NettyThreadgroupModuleFactory;
 import org.opendaylight.controller.config.yang.reconnectstrategy.TimedReconnectStrategyModuleFactory;
-import org.opendaylight.controller.sal.binding.api.data.DataProviderService;
+import org.opendaylight.controller.md.sal.common.api.data.DataCommitHandler;
+import org.opendaylight.controller.sal.core.api.data.DataProviderService;
+import org.opendaylight.yangtools.concepts.Registration;
+import org.opendaylight.yangtools.yang.data.api.CompositeNode;
+import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleListener;
 import org.osgi.framework.Filter;
 import org.osgi.framework.ServiceListener;
 import org.osgi.framework.ServiceReference;
 
-@Ignore
 public class RIBImplModuleTest extends AbstractConfigTest {
-
+       
        private final String instanceName = "bgp-rib-impl";
 
        private RIBImplModuleFactory factory;
-
-       private BindingBrokerImplModuleFactory brokerFactory;
-
+       private DataBrokerImplModuleFactory dataBrokerFactory;
        private TimedReconnectStrategyModuleFactory reconnectFactory;
-
        private BGPImplModuleFactory bgpFactory;
-
        private BGPSessionProposalImplModuleFactory sessionFacotry;
-
        private BGPDispatcherImplModuleFactory dispactherFactory;
-
        private NettyThreadgroupModuleFactory threadgropFactory;
-
-       private RIBExtensionsImplModuleFactory messageFactory;
-
        private GlobalEventExecutorModuleFactory executorFactory;
-
+       private SimpleBGPExtensionProviderContextModuleFactory extensionFactory;
+       private RIBExtensionsImplModuleFactory ribExtensionsFactory;
+       private DomBrokerImplModuleFactory domBrokerFactory;
+       private RuntimeMappingModuleFactory runtimeMappingFactory;
+       private HashMapDataStoreModuleFactory dataStroreFactory;
+       
+       @SuppressWarnings("unchecked")
        @Before
        public void setUp() throws Exception {
                this.factory = new RIBImplModuleFactory();
-               this.brokerFactory = new BindingBrokerImplModuleFactory();
+               this.dataBrokerFactory = new DataBrokerImplModuleFactory();
                this.bgpFactory = new BGPImplModuleFactory();
                this.executorFactory = new GlobalEventExecutorModuleFactory();
                this.dispactherFactory = new BGPDispatcherImplModuleFactory();
                this.sessionFacotry = new BGPSessionProposalImplModuleFactory();
                this.threadgropFactory = new NettyThreadgroupModuleFactory();
-               this.messageFactory = new RIBExtensionsImplModuleFactory();
                this.reconnectFactory = new TimedReconnectStrategyModuleFactory();
-               super.initConfigTransactionManagerImpl(new HardcodedModuleFactoriesResolver(this.factory,
-                               this.dispactherFactory, this.sessionFacotry, this.messageFactory,
-                               this.threadgropFactory, this.bgpFactory, this.reconnectFactory, this.brokerFactory, this.executorFactory));
+               this.extensionFactory = new SimpleBGPExtensionProviderContextModuleFactory();
+               this.ribExtensionsFactory = new RIBExtensionsImplModuleFactory();
+               this.domBrokerFactory = new DomBrokerImplModuleFactory();
+               this.runtimeMappingFactory = new RuntimeMappingModuleFactory();
+               this.dataStroreFactory = new HashMapDataStoreModuleFactory();
+               super.initConfigTransactionManagerImpl(new HardcodedModuleFactoriesResolver(mockedContext, this.factory,
+                               this.dispactherFactory, this.sessionFacotry, this.threadgropFactory, this.bgpFactory, 
+                               this.reconnectFactory, this.dataBrokerFactory, this.executorFactory, this.extensionFactory,
+                               this.ribExtensionsFactory, this.domBrokerFactory, this.runtimeMappingFactory,
+                               this.dataStroreFactory));
                Mockito.doReturn(mockedServiceRegistration).when(mockedContext).registerService(
                                Matchers.any(String.class), Mockito.any(Closeable.class),
                                Mockito.any(Dictionary.class));
@@ -76,6 +98,10 @@ public class RIBImplModuleTest extends AbstractConfigTest {
                Mockito.doReturn(mockedFilter).when(mockedContext).createFilter(Mockito.anyString());
 
                Mockito.doNothing().when(mockedContext).addServiceListener(Mockito.any(ServiceListener.class), Mockito.anyString());
+               
+               Mockito.doNothing().when(mockedContext).addBundleListener(Mockito.any(BundleListener.class));
+               
+               Mockito.doReturn(new Bundle[]{}).when(mockedContext).getBundles();
 
                Mockito.doReturn(new ServiceReference[]{}).when(mockedContext).getServiceReferences(Matchers.anyString(), Matchers.anyString());
 
@@ -84,6 +110,9 @@ public class RIBImplModuleTest extends AbstractConfigTest {
                Mockito.doReturn(mockedserviceReference).when(mockedContext).getServiceReference(Matchers.any(Class.class));
 
                DataProviderService mockedService = Mockito.mock(DataProviderService.class);
+               Registration<DataCommitHandler<InstanceIdentifier, CompositeNode>> registration = Mockito.mock(Registration.class);
+               Mockito.doReturn(registration).when(mockedService).registerCommitHandler(Matchers.any(InstanceIdentifier.class), 
+                               Matchers.any(DataCommitHandler.class));
                Mockito.doReturn(mockedService).when(mockedContext).getService(Matchers.any(ServiceReference.class));
        }
 
@@ -91,36 +120,87 @@ public class RIBImplModuleTest extends AbstractConfigTest {
        public void testCreateBean() throws Exception {
                ConfigTransactionJMXClient transaction = configRegistryClient
                                .createTransaction();
-               createInstance(transaction, this.factory.getImplementationName(), instanceName, new ObjectName("org.opendaylight.controller:instanceName=binding-broker-singleton,moduleFactoryName=binding-broker-impl-singleton,type=Module"),
-                               this.reconnectFactory.getImplementationName(), this.executorFactory.getImplementationName(), this.bgpFactory.getImplementationName(), this.sessionFacotry.getImplementationName(),
-                               this.dispactherFactory.getImplementationName(), this.threadgropFactory.getImplementationName(), this.messageFactory.getImplementationName());
+               createInstance(transaction, this.factory.getImplementationName(), instanceName, this.dataBrokerFactory.getImplementationName(),
+                               this.reconnectFactory.getImplementationName(), this.executorFactory.getImplementationName(), this.bgpFactory.getImplementationName(), 
+                               this.sessionFacotry.getImplementationName(), this.dispactherFactory.getImplementationName(), this.threadgropFactory.getImplementationName(), 
+                               this.extensionFactory.getImplementationName(), this.ribExtensionsFactory.getImplementationName(), this.domBrokerFactory.getImplementationName(), 
+                               this.dataStroreFactory.getImplementationName());
                transaction.validateConfig();
                CommitStatus status = transaction.commit();
+               Thread.sleep(2000);
                assertBeanCount(1, factory.getImplementationName());
-               assertStatus(status, 6, 0, 0);
+               assertStatus(status, 16, 0, 0);
+       }
+       
+       @After
+       public void closeAllModules() throws Exception {
+               super.destroyAllConfigBeans();
        }
 
        public static ObjectName createInstance(final ConfigTransactionJMXClient transaction, final String moduleName,
-                       final String instanceName, final ObjectName bindingDataModule, final String reconnectModueName, final String executorModuleName, final String bgpModuleName,
-                       final String sessionModuleName, final String dispatcherModuleName, final String threadgroupModuleName, final String messageFactoryModuleName) throws InstanceAlreadyExistsException, MalformedObjectNameException {
+                       final String instanceName, final String bindingDataModuleName, final String reconnectModueName, final String executorModuleName, final String bgpModuleName,
+                       final String sessionModuleName, final String dispatcherModuleName, final String threadgroupModuleName, final String extensionModuleName, 
+                       final String ribExtensionsModuleName, final String domBrokerModuleName, final String dataStroreModuleName) 
+                                       throws Exception {
                ObjectName nameCreated = transaction.createModule(
                                moduleName, instanceName);
                RIBImplModuleMXBean mxBean = transaction.newMBeanProxy(
                                nameCreated, RIBImplModuleMXBean.class);
-               ObjectName reconnectObjectName = TimedReconnectStrategyModuleTest.createInstance(transaction, reconnectModueName, "session-reconnect-strategy", 0, 2000L, new BigDecimal(1.0), 5000L, 2000L, null, executorModuleName);
+               ObjectName reconnectObjectName = TimedReconnectStrategyModuleTest.createInstance(transaction, reconnectModueName, "session-reconnect-strategy", 100, 1000L, new BigDecimal(1.0), 5000L, 2000L, null, executorModuleName,
+                               "global-event-executor1");
                mxBean.setSessionReconnectStrategy(reconnectObjectName);
-               mxBean.setDataProvider(bindingDataModule);
-               mxBean.setTcpReconnectStrategy(reconnectObjectName);
-               mxBean.setBgp(BGPImplModuleTest.createInstance(transaction, bgpModuleName, "bgp-impl1", "localhost", 1, sessionModuleName, dispatcherModuleName, threadgroupModuleName, messageFactoryModuleName));
+               mxBean.setDataProvider(createDataBrokerInstance(transaction, bindingDataModuleName, "data-broker-impl", domBrokerModuleName, dataStroreModuleName));
+               ObjectName reconnectStrategyON = TimedReconnectStrategyModuleTest.createInstance(transaction, reconnectModueName, "tcp-reconnect-strategy", 100, 1000L, new BigDecimal(1.0), 5000L, 2000L, null, executorModuleName,
+                               "global-event-executor2");
+               mxBean.setTcpReconnectStrategy(reconnectStrategyON);
+               mxBean.setBgp(BGPImplModuleTest.createInstance(transaction, bgpModuleName, "bgp-impl1", "localhost", 1, sessionModuleName, dispatcherModuleName, threadgroupModuleName, ribExtensionsModuleName, extensionModuleName));
+               mxBean.setExtensions(createRibExtensionsInstance(transaction, ribExtensionsModuleName, "rib-extensions-privider1"));
                return nameCreated;
        }
 
-       public static ObjectName createBindingBrokerInstance(final ConfigTransactionJMXClient transaction, final String moduleName,
+       public static ObjectName createDataBrokerInstance(final ConfigTransactionJMXClient transaction, final String moduleName,
+                       final String instanceName, final String domBrokerModuleName, final String dataStroreModuleName) throws 
+                       InstanceAlreadyExistsException, InstanceNotFoundException {
+               ObjectName nameCreated = transaction.createModule(
+                               moduleName, instanceName);
+               DataBrokerImplModuleMXBean mxBean = transaction.newMBeanProxy(
+                               nameCreated, DataBrokerImplModuleMXBean.class);
+               mxBean.setDomBroker(createDomBrokerInstance(transaction, domBrokerModuleName, "dom-broker1", dataStroreModuleName));
+               mxBean.setMappingService(lookupMappingServiceInstance(transaction));
+               return nameCreated;
+       }
+       
+       public static ObjectName createDomBrokerInstance(final ConfigTransactionJMXClient transaction, final String moduleName,
+                       final String instanceName, final String dataStroreModuleName) throws InstanceAlreadyExistsException {
+               ObjectName nameCreated = transaction.createModule(
+                               moduleName, instanceName);
+               DomBrokerImplModuleMXBean mxBean = transaction.newMBeanProxy(
+                               nameCreated, DomBrokerImplModuleMXBean.class);
+               mxBean.setDataStore(createDataStoreInstance(transaction, dataStroreModuleName, "has-map-data-strore-instance"));
+               return nameCreated;
+       }
+       
+       public static ObjectName createDataStoreInstance(final ConfigTransactionJMXClient transaction, final String moduleName,
+                       final String instanceName) throws InstanceAlreadyExistsException {
+               ObjectName nameCreated = transaction.createModule(
+                               moduleName, instanceName);
+               transaction.newMBeanProxy(
+                               nameCreated, HashMapDataStoreModuleMXBean.class);
+               return nameCreated;
+       }
+       
+       public static ObjectName lookupMappingServiceInstance(final ConfigTransactionJMXClient transaction) 
+                       throws InstanceAlreadyExistsException, InstanceNotFoundException {
+               ObjectName nameCreated = transaction.lookupConfigBean("runtime-generated-mapping", "runtime-mapping-singleton");
+               return nameCreated;     
+       }
+       
+       public static ObjectName createRibExtensionsInstance(final ConfigTransactionJMXClient transaction, final String moduleName,
                        final String instanceName) throws InstanceAlreadyExistsException {
                ObjectName nameCreated = transaction.createModule(
                                moduleName, instanceName);
                transaction.newMBeanProxy(
-                               nameCreated, BindingBrokerImplModuleMXBean.class);
+                               nameCreated, RIBExtensionsImplModuleMXBean.class);
                return nameCreated;
        }
 }