1 package org.opendaylight.controller.cluster.datastore.config;
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertFalse;
5 import static org.junit.Assert.assertTrue;
6 import com.google.common.collect.Sets;
7 import com.typesafe.config.ConfigFactory;
11 import org.junit.Assert;
12 import org.junit.BeforeClass;
13 import org.junit.Test;
15 public class ConfigurationImplTest {
17 private static ConfigurationImpl configuration;
20 public static void staticSetup(){
21 configuration = new ConfigurationImpl("module-shards.conf", "modules.conf");
25 public void testConstructor(){
26 Assert.assertNotNull(configuration);
30 public void testGetMemberShardNames(){
31 List<String> memberShardNames =
32 configuration.getMemberShardNames("member-1");
34 assertTrue(memberShardNames.contains("people-1"));
35 assertTrue(memberShardNames.contains("cars-1"));
37 // Retrieve once again to hit cache
40 configuration.getMemberShardNames("member-1");
42 assertTrue(memberShardNames.contains("people-1"));
43 assertTrue(memberShardNames.contains("cars-1"));
48 public void testGetMembersFromShardName(){
49 List<String> members =
50 configuration.getMembersFromShardName("default");
52 assertEquals(3, members.size());
54 assertTrue(members.contains("member-1"));
55 assertTrue(members.contains("member-2"));
56 assertTrue(members.contains("member-3"));
58 assertFalse(members.contains("member-26"));
60 // Retrieve once again to hit cache
62 configuration.getMembersFromShardName("default");
64 assertEquals(3, members.size());
66 assertTrue(members.contains("member-1"));
67 assertTrue(members.contains("member-2"));
68 assertTrue(members.contains("member-3"));
70 assertFalse(members.contains("member-26"));
73 // Try to find a shard which is not present
76 configuration.getMembersFromShardName("foobar");
78 assertEquals(0, members.size());
82 public void testReadConfigurationFromFile(){
83 File f = new File("./module-shards.conf");
84 ConfigFactory.parseFile(f);
88 public void testGetAllShardNames(){
89 Set<String> allShardNames = configuration.getAllShardNames();
91 assertEquals(4, allShardNames.size());
92 assertTrue(allShardNames.contains("default"));
93 assertTrue(allShardNames.contains("people-1"));
94 assertTrue(allShardNames.contains("cars-1"));
95 assertTrue(allShardNames.contains("test-1"));
99 public void testGetUniqueMemberNamesForAllShards() {
100 assertEquals("getUniqueMemberNamesForAllShards", Sets.newHashSet("member-1", "member-2", "member-3"),
101 configuration.getUniqueMemberNamesForAllShards());