8b6350849ddf4dd21332a10978c1536a88b9d554
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / test / java / org / opendaylight / controller / cluster / datastore / config / ConfigurationImplTest.java
1 package org.opendaylight.controller.cluster.datastore.config;
2
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;
8 import java.io.File;
9 import java.util.List;
10 import java.util.Set;
11 import org.junit.Assert;
12 import org.junit.BeforeClass;
13 import org.junit.Test;
14
15 public class ConfigurationImplTest {
16
17     private static ConfigurationImpl configuration;
18
19     @BeforeClass
20     public static void staticSetup(){
21         configuration = new ConfigurationImpl("module-shards.conf", "modules.conf");
22     }
23
24     @Test
25     public void testConstructor(){
26         Assert.assertNotNull(configuration);
27     }
28
29     @Test
30     public void testGetMemberShardNames(){
31         List<String> memberShardNames =
32             configuration.getMemberShardNames("member-1");
33
34         assertTrue(memberShardNames.contains("people-1"));
35         assertTrue(memberShardNames.contains("cars-1"));
36
37         // Retrieve once again to hit cache
38
39         memberShardNames =
40             configuration.getMemberShardNames("member-1");
41
42         assertTrue(memberShardNames.contains("people-1"));
43         assertTrue(memberShardNames.contains("cars-1"));
44
45     }
46
47     @Test
48     public void testGetMembersFromShardName(){
49         List<String> members =
50             configuration.getMembersFromShardName("default");
51
52         assertEquals(3, members.size());
53
54         assertTrue(members.contains("member-1"));
55         assertTrue(members.contains("member-2"));
56         assertTrue(members.contains("member-3"));
57
58         assertFalse(members.contains("member-26"));
59
60         // Retrieve once again to hit cache
61         members =
62             configuration.getMembersFromShardName("default");
63
64         assertEquals(3, members.size());
65
66         assertTrue(members.contains("member-1"));
67         assertTrue(members.contains("member-2"));
68         assertTrue(members.contains("member-3"));
69
70         assertFalse(members.contains("member-26"));
71
72
73         // Try to find a shard which is not present
74
75         members =
76             configuration.getMembersFromShardName("foobar");
77
78         assertEquals(0, members.size());
79     }
80
81     @Test
82     public void testReadConfigurationFromFile(){
83         File f = new File("./module-shards.conf");
84         ConfigFactory.parseFile(f);
85     }
86
87     @Test
88     public void testGetAllShardNames(){
89         Set<String> allShardNames = configuration.getAllShardNames();
90
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"));
96     }
97
98     @Test
99     public void testGetUniqueMemberNamesForAllShards() {
100         assertEquals("getUniqueMemberNamesForAllShards", Sets.newHashSet("member-1", "member-2", "member-3"),
101                 configuration.getUniqueMemberNamesForAllShards());
102     }
103 }