@Test
public void testGetSnapshotFailureReply() {

    TestKit kit = new TestKit(getSystem());
    ActorRef replyActor = getSystem().actorOf(ShardManagerGetSnapshotReplyActor.props(
            Arrays.asList("shard1", "shard2"), "config", null, kit.getRef(), "shard-manager",
            FiniteDuration.create(100, TimeUnit.SECONDS)), "testGetSnapshotFailureReply");
    kit.watch(replyActor);
    replyActor.tell(new GetSnapshotReply(ShardIdentifier.create("shard1", MEMBER_1, "config").toString(),
            Snapshot.create(ByteState.of(new byte[]{1,2,3}), Collections.<ReplicatedLogEntry>emptyList(),
                    2, 1, 2, 1, 1, "member-1", null)), ActorRef.noSender());
    replyActor.tell(new Failure(new RuntimeException()), ActorRef.noSender());
    kit.expectMsgClass(Failure.class);
    kit.expectTerminated(replyActor);
}