/*
* Check that it generates an internal notification correctly
*/
MockFLEMessengerBackward fle = new MockFLEMessengerBackward(peer, mng);
ByteBuffer buffer = FastLeaderElection.buildMsg(ServerState.LOOKING.ordinal(), 2, 0x1, 1, 1);
fle.manager.recvQueue.add(new Message(buffer, 2));
Notification n = fle.recvqueue.take();
Assert.assertTrue("Wrong state", n.state == ServerState.LOOKING);
Assert.assertTrue("Wrong leader", n.leader == 2);
Assert.assertTrue("Wrong zxid", n.zxid == 0x1);
Assert.assertTrue("Wrong epoch", n.electionEpoch == 1);
Assert.assertTrue("Wrong epoch", n.peerEpoch == 1);
/*
* Check that it sends a notification back to the sender
*/
peer.setPeerState(ServerState.FOLLOWING);
peer.setCurrentVote( new Vote(2, 0x1, 1, 1, ServerState.LOOKING) );
buffer = FastLeaderElection.buildMsg(ServerState.LOOKING.ordinal(), 1, 0x1, 1, 1);
fle.manager.recvQueue.add(new Message(buffer, 1));
ToSend m = fle.internalqueue.take();
Assert.assertTrue("Wrong state", m.state == ServerState.FOLLOWING);
Assert.assertTrue("Wrong sid", m.sid == 1);
Assert.assertTrue("Wrong leader", m.leader == 2);
Assert.assertTrue("Wrong epoch", m.electionEpoch == 1);