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