Merge "BUG-997 Use shared schema context factory in netconf-connector"
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / test / java / org / opendaylight / controller / cluster / datastore / ConfigurationImplTest.java
index 85877ce11e78e48200c72c03ddb20340a6a7e74b..17329611b00d6b010302eaa9d9ecf503972eb7e0 100644 (file)
@@ -1,11 +1,15 @@
 package org.opendaylight.controller.cluster.datastore;
 
+import com.typesafe.config.ConfigFactory;
 import junit.framework.Assert;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
+import java.io.File;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 public class ConfigurationImplTest {
@@ -29,5 +33,54 @@ public class ConfigurationImplTest {
 
         assertTrue(memberShardNames.contains("people-1"));
         assertTrue(memberShardNames.contains("cars-1"));
+
+        // Retrieve once again to hit cache
+
+        memberShardNames =
+            configuration.getMemberShardNames("member-1");
+
+        assertTrue(memberShardNames.contains("people-1"));
+        assertTrue(memberShardNames.contains("cars-1"));
+
+    }
+
+    @Test
+    public void testGetMembersFromShardName(){
+        List<String> members =
+            configuration.getMembersFromShardName("default");
+
+        assertEquals(3, members.size());
+
+        assertTrue(members.contains("member-1"));
+        assertTrue(members.contains("member-2"));
+        assertTrue(members.contains("member-3"));
+
+        assertFalse(members.contains("member-26"));
+
+        // Retrieve once again to hit cache
+        members =
+            configuration.getMembersFromShardName("default");
+
+        assertEquals(3, members.size());
+
+        assertTrue(members.contains("member-1"));
+        assertTrue(members.contains("member-2"));
+        assertTrue(members.contains("member-3"));
+
+        assertFalse(members.contains("member-26"));
+
+
+        // Try to find a shard which is not present
+
+        members =
+            configuration.getMembersFromShardName("foobar");
+
+        assertEquals(0, members.size());
+    }
+
+    @Test
+    public void testReadConfigurationFromFile(){
+        File f = new File("./module-shards.conf");
+        ConfigFactory.parseFile(f);
     }
 }