#NEWLINE# def test_follower_server_on_receive_message_where_log_contains_conflicting_entry_at_new_index( self ) : #NEWLINE# #INDENT# self . server . _log . append ( { #NEWLINE# #INDENT# 'term' : 1 , #NEWLINE# 'value' : 0 , #NEWLINE# #UNINDENT# } ) #NEWLINE# self . server . _log . append ( { #NEWLINE# #INDENT# 'term' : 1 , #NEWLINE# 'value' : 200 , #NEWLINE# #UNINDENT# } ) #NEWLINE# self . server . _log . append ( { #NEWLINE# #INDENT# 'term' : 1 , #NEWLINE# 'value' : 300 , #NEWLINE# #UNINDENT# } ) #NEWLINE# self . server . _log . append ( { #NEWLINE# #INDENT# 'term' : 2 , #NEWLINE# 'value' : 400 , #NEWLINE# #UNINDENT# } ) #NEWLINE# msg = AppendEntriesMessage ( 0 , 1 , 2 , { #NEWLINE# #INDENT# 'prevLogIndex' : 0 , #NEWLINE# 'prevLogTerm' : 1 , #NEWLINE# 'leaderCommit' : 1 , #NEWLINE# 'entries' : [ { #NEWLINE# #INDENT# 'term' : 1 , #NEWLINE# 'value' : 100 , #NEWLINE# #UNINDENT# } ] , #NEWLINE# #UNINDENT# } ) #NEWLINE# self . server . on_message ( msg ) #NEWLINE# self . assertEquals ( { #NEWLINE# #INDENT# 'term' : 1 , #NEWLINE# 'value' : 100 , #NEWLINE# #UNINDENT# } , self . server . _log [ 1 ] ) #NEWLINE# self . assertEquals ( [ { #NEWLINE# #INDENT# 'term' : 1 , #NEWLINE# 'value' : 0 , #NEWLINE# #UNINDENT# } , { #NEWLINE# #INDENT# 'term' : 1 , #NEWLINE# 'value' : 100 , #NEWLINE# #UNINDENT# } ] , self . server . _log )