Merge "Optimizations, Monitoring and Logging"
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / test / java / org / opendaylight / controller / cluster / datastore / ConfigurationImplTest.java
1 package org.opendaylight.controller.cluster.datastore;
2
3 import com.typesafe.config.ConfigFactory;
4 import junit.framework.Assert;
5 import org.junit.BeforeClass;
6 import org.junit.Test;
7
8 import java.io.File;
9 import java.util.List;
10
11 import static org.junit.Assert.assertEquals;
12 import static org.junit.Assert.assertFalse;
13 import static org.junit.Assert.assertTrue;
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 }