def test_write_request_manager_handles_request( write_req_manager: WriteRequestManager, node_req): write_req_manager.static_validation(node_req) write_req_manager.dynamic_validation(node_req) write_req_manager.update_state(reqToTxn(node_req)) write_req_manager.apply_request(node_req, None) write_req_manager.apply_forced_request(node_req) write_req_manager.transform_txn_for_ledger(reqToTxn(node_req))
def test_write_request_manager_fails_to_handle( write_req_manager: WriteRequestManager, node_req): node_req.operation['type'] = 999 with pytest.raises(LogicError): write_req_manager.static_validation(node_req) with pytest.raises(LogicError): write_req_manager.dynamic_validation(node_req) with pytest.raises(LogicError): write_req_manager.update_state(reqToTxn(node_req)) with pytest.raises(LogicError): write_req_manager.apply_request(node_req, None) with pytest.raises(LogicError): write_req_manager.apply_forced_request(node_req) with pytest.raises(LogicError): write_req_manager.transform_txn_for_ledger(reqToTxn(node_req))
def test_write_request_manager_chain_of_responsib_apply(write_req_manager: WriteRequestManager, node_req, db): write_req_manager.request_handlers[NODE] = [] handlers = write_req_manager.request_handlers[NODE] check_list = [FakeSomething(), FakeSomething(), FakeSomething()] node_req.check_list = check_list for check in check_list: check.check_field = False def modify_check_list(request, batch_ts, prev_result): assert not all(check.check_field for check in check_list) f_check = next(check for check in request.check_list if check.check_field is False) f_check.check_field = True return 1, 1, 1 for i in range(3): handler = NodeHandler(db, None) handler.apply_request = modify_check_list handlers.append(handler) write_req_manager.apply_request(node_req, 0) assert all(check.check_field for check in check_list)