From fd6090216a52591c37577fa42eca22629129ea89 Mon Sep 17 00:00:00 2001 From: Ben Johnson Date: Mon, 29 Apr 2013 20:42:58 -0600 Subject: [PATCH] Add test for demotion in request vote. --- server_test.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/server_test.go b/server_test.go index e14d063eb9..e953d29a3b 100644 --- a/server_test.go +++ b/server_test.go @@ -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) } }