Bug 1520 - Increased test coverage
[controller.git] / opendaylight / config / config-util / src / test / java / org / opendaylight / controller / config / util / ConfigRegistryClientsTest.java
index 13043458c0d097d0f6e936343480e77b63ad47be..0524f0019a1414aa3282f515005b3e10df38aebd 100644 (file)
@@ -7,19 +7,28 @@
  */
 package org.opendaylight.controller.config.util;
 
-import com.google.common.collect.Sets;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.opendaylight.controller.config.api.ConfigRegistry;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThat;
+import static org.junit.matchers.JUnitMatchers.hasItem;
+
+import java.lang.management.ManagementFactory;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
 
 import javax.management.InstanceNotFoundException;
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
-import java.lang.management.ManagementFactory;
-import java.util.Set;
 
-import static org.junit.Assert.assertEquals;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.opendaylight.controller.config.api.ConfigRegistry;
+
+import com.google.common.collect.Sets;
 
 public class ConfigRegistryClientsTest {
 
@@ -27,6 +36,8 @@ public class ConfigRegistryClientsTest {
     private ObjectName testingRegistryON;
     private final MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
     private ConfigRegistryClient jmxRegistryClient;
+    private ConfigTransactionClient jmxTransactionClient;
+    private Map<String, ObjectName> map;
 
     @Before
     public void setUp() throws Exception {
@@ -35,6 +46,7 @@ public class ConfigRegistryClientsTest {
         mbs.registerMBean(testingRegistry, testingRegistryON);
         jmxRegistryClient = new ConfigRegistryJMXClient(
                 ManagementFactory.getPlatformMBeanServer());
+        map = new HashMap<>();
     }
 
     @After
@@ -44,6 +56,89 @@ public class ConfigRegistryClientsTest {
         }
     }
 
+    @Test
+    public void testCreateTransaction() throws Exception{
+        jmxTransactionClient = jmxRegistryClient.createTransaction();
+        assertNotNull(jmxTransactionClient);
+    }
+
+    @Test
+    public void testGetConfigTransactionClient2() throws Exception{
+        jmxTransactionClient = jmxRegistryClient.getConfigTransactionClient("transactionName");
+        assertNotNull(jmxTransactionClient);
+    }
+
+    @Test
+    public void testGetConfigTransactionClient() throws Exception{
+        jmxTransactionClient = jmxRegistryClient.getConfigTransactionClient(testingRegistryON);
+        assertNotNull(jmxTransactionClient);
+    }
+
+    @Test(expected = IllegalArgumentException.class)
+    public void testNewMXBeanProxy() throws Exception{
+        if (jmxRegistryClient instanceof ConfigRegistryJMXClient) {
+            ConfigRegistryJMXClient client = (ConfigRegistryJMXClient) jmxRegistryClient;
+            assertNull(client.newMXBeanProxy(testingRegistryON, String.class));
+        } else {
+            throw new AssertionError("brm msg");
+        }
+    }
+
+    @Test
+    public void testBeginConfig() throws Exception{
+        Assert.assertNotNull(jmxRegistryClient.beginConfig());
+    }
+
+    @Test
+    public void testCommitConfig() throws Exception{
+        assertNull(jmxRegistryClient.commitConfig(testingRegistryON));
+    }
+
+    @Test
+    public void testGetOpenConfigs() throws Exception{
+        assertNull(jmxRegistryClient.getOpenConfigs());
+    }
+
+    @Test(expected = RuntimeException.class)
+    public void testGetVersion() throws Exception{
+        assertEquals(3, jmxRegistryClient.getVersion());
+    }
+
+    @Test
+    public void testGetAvailableModuleNames() throws Exception{
+        assertNull(jmxRegistryClient.getAvailableModuleNames());
+    }
+
+    @Test
+    public void testIsHealthy() throws Exception{
+        assertEquals(false, jmxRegistryClient.isHealthy());
+    }
+
+    @Test
+    public void testLookupConfigBeans3() throws Exception{
+        Set<ObjectName> son = jmxRegistryClient.lookupConfigBeans();
+        assertEquals(3, son.size());
+    }
+
+    @Test
+    public void testLookupConfigBeans2() throws Exception{
+        Set<ObjectName> son = jmxRegistryClient.lookupConfigBeans(TestingConfigRegistry.moduleName1);
+        assertEquals(2, son.size());
+    }
+
+    @Test
+    public void testLookupConfigBeans() throws Exception{
+        Set<ObjectName> son = jmxRegistryClient.lookupConfigBeans(TestingConfigRegistry.moduleName1, TestingConfigRegistry.instName1);
+        Set<ObjectName> on = Sets.newHashSet(TestingConfigRegistry.conf2);
+        assertEquals(on, son);
+    }
+
+    @Test
+    public void testLookupConfigBean() throws Exception{
+        ObjectName on = jmxRegistryClient.lookupConfigBean(TestingConfigRegistry.moduleName1, null);
+        assertEquals(TestingConfigRegistry.conf3, on);
+    }
+
     @Test
     public void testLookupRuntimeBeans() throws Exception {
         Set<ObjectName> jmxLookup = lookupRuntimeBeans(jmxRegistryClient);
@@ -91,4 +186,78 @@ public class ConfigRegistryClientsTest {
         }
         return beans;
     }
+
+    @Test
+    public void testCheckConfigBeanExists() throws Exception{
+        jmxRegistryClient.checkConfigBeanExists(testingRegistryON);
+        assertEquals(true, TestingConfigRegistry.checkBool);
+    }
+
+    @Test
+    public void testLookupConfigBeanByServiceInterfaceName() throws Exception{
+        ObjectName on = clientLookupConfigBeanByServiceInterfaceName();
+        assertEquals(TestingConfigRegistry.conf1, on);
+    }
+
+    private ObjectName clientLookupConfigBeanByServiceInterfaceName(){
+        return jmxRegistryClient.lookupConfigBeanByServiceInterfaceName("qnameA", "refA");
+    }
+
+    @Test
+    public void testGetServiceMapping() throws Exception{
+        assertNull(jmxRegistryClient.getServiceMapping());
+    }
+
+    @Test
+    public void testLookupServiceReferencesByServiceInterfaceName() throws Exception{
+        map.put("conf2", TestingConfigRegistry.conf2);
+        assertEquals(map, jmxRegistryClient.lookupServiceReferencesByServiceInterfaceName("qnameB"));
+    }
+
+    @Test
+    public void testLookupServiceInterfaceNames() throws Exception{
+        assertThat(clientLookupServiceInterfaceNames(testingRegistryON), hasItem(TestingConfigRegistry.serviceQName1));
+        assertThat(clientLookupServiceInterfaceNames(testingRegistryON), hasItem(TestingConfigRegistry.serviceQName2));
+    }
+
+    private Set<String> clientLookupServiceInterfaceNames(ObjectName client) throws InstanceNotFoundException{
+        return jmxRegistryClient.lookupServiceInterfaceNames(client);
+    }
+
+    @Test
+    public void testGetServiceInterfaceName() throws Exception{
+        assertNull(jmxRegistryClient.getServiceInterfaceName(null, null));
+    }
+
+    @Test(expected = RuntimeException.class)
+    public void testInvokeMethod() throws Exception{
+        assertNull(jmxRegistryClient.invokeMethod(testingRegistryON, "name", null, null));
+    }
+
+    @Test(expected = RuntimeException.class)
+    public void testGetAttributeCurrentValue() throws Exception{
+        assertNull(jmxRegistryClient.getAttributeCurrentValue(testingRegistryON, "attrName"));
+    }
+
+    @Test
+    public void testGetAvailableModuleFactoryQNames() throws Exception{
+        for(String str : jmxRegistryClient.getAvailableModuleFactoryQNames()){
+            if(str != TestingConfigRegistry.moduleName1){
+                assertEquals(TestingConfigRegistry.moduleName2, str);
+            }
+            else{
+                assertEquals(TestingConfigRegistry.moduleName1, str);
+            }
+        }
+    }
+
+    @Test
+    public void testGetServiceReference() throws Exception{
+        Assert.assertNotNull(jmxRegistryClient.getServiceReference(null, null));
+    }
+
+    @Test(expected = UnsupportedOperationException.class)
+    public void testcheckServiceReferenceExists() throws Exception{
+        jmxRegistryClient.checkServiceReferenceExists(testingRegistryON);
+    }
 }