b895b75fcde1ee7421b324492319c59d0bfc6d93
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / test / java / org / opendaylight / controller / cluster / datastore / shardstrategy / ModuleShardStrategyTest.java
1 package org.opendaylight.controller.cluster.datastore.shardstrategy;
2
3 import static org.junit.Assert.assertEquals;
4 import org.junit.BeforeClass;
5 import org.junit.Rule;
6 import org.junit.Test;
7 import org.junit.rules.ExpectedException;
8 import org.opendaylight.controller.cluster.datastore.Configuration;
9 import org.opendaylight.controller.cluster.datastore.ConfigurationImpl;
10 import org.opendaylight.controller.md.cluster.datastore.model.CarsModel;
11 import org.opendaylight.yangtools.yang.common.QName;
12 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
13
14 public class ModuleShardStrategyTest {
15     @Rule
16     public ExpectedException expectedEx = ExpectedException.none();
17
18     private static Configuration configuration;
19
20     @BeforeClass
21     public static void setUpClass(){
22         configuration = new ConfigurationImpl("module-shards.conf", "modules.conf");
23     }
24
25
26     @Test
27     public void testFindShard() throws Exception {
28         ModuleShardStrategy moduleShardStrategy =
29             new ModuleShardStrategy("cars", configuration);
30
31         String shard = moduleShardStrategy.findShard(CarsModel.BASE_PATH);
32
33         assertEquals("cars-1", shard);
34     }
35
36     @Test
37     public void testFindShardWhenModuleConfigurationPresentInModulesButMissingInModuleShards() {
38
39         final QName BASE_QNAME = QName.create("urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:store:test:missing", "2014-03-13",
40             "missing");
41
42         final YangInstanceIdentifier BASE_PATH = YangInstanceIdentifier.of(BASE_QNAME);
43
44         ModuleShardStrategy moduleShardStrategy =
45             new ModuleShardStrategy("missing", configuration);
46
47         String shard = moduleShardStrategy.findShard(BASE_PATH);
48
49         assertEquals(DefaultShardStrategy.DEFAULT_SHARD, shard);
50
51     }
52 }