@Test
public void testGetShardRole() throws Exception {

    String name = "testGetShardRole";
    String moduleShardsConfig = "module-shards-default-member-1.conf";
    final MemberNode member1 = MemberNode.builder(memberNodes).akkaConfig("Member1").testName(name)
            .moduleShardsConfig(moduleShardsConfig).build();
    member1.kit().waitUntilLeader(member1.configDataStore().getActorUtils(), "default");
    final RpcResult<GetShardRoleOutput> successResult =
            getShardRole(member1, Mockito.mock(BindingNormalizedNodeSerializer.class), "default");
    verifySuccessfulRpcResult(successResult);
    assertEquals("Leader", successResult.getResult().getRole());
    final RpcResult<GetShardRoleOutput> failedResult =
            getShardRole(member1, Mockito.mock(BindingNormalizedNodeSerializer.class), "cars");
    verifyFailedRpcResult(failedResult);
    final ActorRef shardManager1 = member1.configDataStore().getActorUtils().getShardManager();
    shardManager1.tell(new PrefixShardCreated(new PrefixShardConfiguration(
                    new DOMDataTreeIdentifier(LogicalDatastoreType.CONFIGURATION, CarsModel.BASE_PATH),
                    "prefix", Collections.singleton(MEMBER_1))),
            ActorRef.noSender());
    member1.kit().waitUntilLeader(member1.configDataStore().getActorUtils(),
            ClusterUtils.getCleanShardName(CarsModel.BASE_PATH));
    final InstanceIdentifier<Cars> identifier = InstanceIdentifier.create(Cars.class);
    final BindingNormalizedNodeSerializer serializer = Mockito.mock(BindingNormalizedNodeSerializer.class);
    Mockito.doReturn(CarsModel.BASE_PATH).when(serializer).toYangInstanceIdentifier(identifier);
    final RpcResult<GetPrefixShardRoleOutput> prefixSuccessResult =
            getPrefixShardRole(member1, identifier, serializer);
    verifySuccessfulRpcResult(prefixSuccessResult);
    assertEquals("Leader", prefixSuccessResult.getResult().getRole());
    final InstanceIdentifier<People> peopleId = InstanceIdentifier.create(People.class);
    Mockito.doReturn(PeopleModel.BASE_PATH).when(serializer).toYangInstanceIdentifier(peopleId);
    final RpcResult<GetPrefixShardRoleOutput> prefixFail =
            getPrefixShardRole(member1, peopleId, serializer);
    verifyFailedRpcResult(prefixFail);
}