Add test for demotion in request vote.

pull/820/head
Ben Johnson 2013-04-29 20:42:58 -06:00
parent d9268cdeb1
commit fd6090216a
1 changed files with 3 additions and 2 deletions

View File

@ -26,13 +26,14 @@ func TestServerRequestVote(t *testing.T) {
// Ensure that a vote request is denied if it comes from an old term.
func TestServerRequestVoteDeniedForStaleTerm(t *testing.T) {
server := newTestServer("1")
server.state = Leader
server.currentTerm = 2
resp := server.RequestVote(NewRequestVoteRequest(1, "foo", 0, 0))
if !(resp.Term == 2 && !resp.VoteGranted) {
t.Fatalf("Invalid request vote response: %v/%v", resp.Term, resp.VoteGranted)
}
if server.currentTerm != 2 {
t.Fatalf("Server did not update term: %v", server.currentTerm)
if server.currentTerm != 2 && server.state != Follower {
t.Fatalf("Server did not update term and demote: %v / %v", server.currentTerm, server.state)
}
}