def test_client_msg_discard_in_view_change_unit(txnPoolNodeSet): node = txnPoolNodeSet[0] node.view_changer.view_change_in_progress = True msg = sdk_gen_request("op").as_dict node.unpackClientMsg(msg, "frm") checkDiscardMsg([ node, ], msg, "view change in progress")
def test_client_msg_discard_in_view_change_with_request(test_node): test_node.send_nack_to_client = check_nack_msg msg = sdk_gen_request({TXN_TYPE: NODE}) test_node.unpackClientMsg(msg, "frm") checkDiscardMsg([ test_node, ], msg.as_dict, "view change in progress")
def test_discard_process_three_phase_msg_for_old_view(test_node, looper): sender = "NodeSender" inst_id = 0 replica = test_node.replicas[inst_id] view_no = test_node.viewNo - 1 pp_seq_no = replica.last_ordered_3pc[1] + 1 msg = create_prepare((view_no, pp_seq_no), generate_state_root(), inst_id) replica._external_bus.process_incoming(msg, sender) checkDiscardMsg([replica.stasher, ], msg, OLD_VIEW)
def test_discard_process_three_phase_msg(test_node, looper): sender = "NodeSender" inst_id = 0 replica = test_node.replicas[inst_id] view_no = test_node.viewNo pp_seq_no = 0 # should start with 1 msg = create_prepare((view_no, pp_seq_no), generate_state_root(), inst_id) replica._external_bus.process_incoming(msg, sender) checkDiscardMsg([replica.stasher, ], msg, INCORRECT_PP_SEQ_NO)
def test_client_msg_discard_in_view_change_with_request(txnPoolNodeSet): node = txnPoolNodeSet[0] node.view_changer.view_change_in_progress = True node.send_nack_to_client = check_nack_msg msg = sdk_gen_request("op") node.unpackClientMsg(msg, "frm") checkDiscardMsg([ node, ], msg.as_dict, "view change in progress")
def test_discard_process_three_phase_already_ordered_msg(test_node, looper): sender = "NodeSender" inst_id = 0 replica = test_node.replicas[inst_id] replica.last_ordered_3pc = (test_node.viewNo, 100) replica._checkpointer.update_watermark_from_3pc() view_no = test_node.viewNo pp_seq_no = replica.h msg = create_prepare((view_no, pp_seq_no), generate_state_root(), inst_id) replica._external_bus.process_incoming(msg, sender) checkDiscardMsg([replica.stasher, ], msg, ALREADY_ORDERED)
def test_client_msg_discard_in_view_change_with_request(test_node): test_node.send_nack_to_client = check_nack_msg msg = sdk_gen_request({TXN_TYPE: NODE}) test_node.unpackClientMsg(msg, "frm") checkDiscardMsg([test_node, ], msg.as_dict, "view change in progress")