1 package org.opendaylight.controller.cluster.datastore.shardstrategy;
3 import static org.junit.Assert.assertEquals;
4 import org.junit.BeforeClass;
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;
14 public class ModuleShardStrategyTest {
16 public ExpectedException expectedEx = ExpectedException.none();
18 private static Configuration configuration;
21 public static void setUpClass(){
22 configuration = new ConfigurationImpl("module-shards.conf", "modules.conf");
27 public void testFindShard() throws Exception {
28 ModuleShardStrategy moduleShardStrategy =
29 new ModuleShardStrategy("cars", configuration);
31 String shard = moduleShardStrategy.findShard(CarsModel.BASE_PATH);
33 assertEquals("cars-1", shard);
37 public void testFindShardWhenModuleConfigurationPresentInModulesButMissingInModuleShards() {
39 final QName BASE_QNAME = QName.create("urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:store:test:missing", "2014-03-13",
42 final YangInstanceIdentifier BASE_PATH = YangInstanceIdentifier.of(BASE_QNAME);
44 ModuleShardStrategy moduleShardStrategy =
45 new ModuleShardStrategy("missing", configuration);
47 String shard = moduleShardStrategy.findShard(BASE_PATH);
49 assertEquals(DefaultShardStrategy.DEFAULT_SHARD, shard);