def test_suspicious_on_wrong_list_of_primaries(orderer_with_requests, state_roots, txn_roots, multi_sig, fake_requests): if not orderer_with_requests.is_master: return handler = Mock() orderer_with_requests._bus.subscribe(RaisedSuspicion, handler) pre_prepare_params = create_pre_prepare_params(state_root=state_roots[DOMAIN_LEDGER_ID], ledger_id=DOMAIN_LEDGER_ID, txn_root=txn_roots[DOMAIN_LEDGER_ID], bls_multi_sig=multi_sig, view_no=orderer_with_requests.view_no, inst_id=0, pool_state_root=state_roots[POOL_LEDGER_ID], audit_txn_root=state_roots[AUDIT_LEDGER_ID], reqs=fake_requests, pp_seq_no=1, primaries=["Some", "Other", "Primaries"]) pre_prepare = PrePrepare(*pre_prepare_params) _register_pp_ts(orderer_with_requests, pre_prepare, orderer_with_requests.primary_name) orderer_with_requests.process_preprepare(pre_prepare, orderer_with_requests.primary_name) check_suspicious(handler, RaisedSuspicion(inst_id=orderer_with_requests._data.inst_id, ex=SuspiciousNode(orderer_with_requests.primary_name, Suspicions.PPR_WITH_WRONG_PRIMARIES, pre_prepare)))
def test_process_pre_prepare_with_incorrect_audit_txn_root(orderer_with_requests, state_roots, txn_roots, multi_sig, fake_requests): if not orderer_with_requests.is_master: return handler = Mock() orderer_with_requests._bus.subscribe(RaisedSuspicion, handler) pre_prepare_params = create_pre_prepare_params(state_root=state_roots[DOMAIN_LEDGER_ID], ledger_id=DOMAIN_LEDGER_ID, txn_root=txn_roots[DOMAIN_LEDGER_ID], bls_multi_sig=multi_sig, view_no=orderer_with_requests.view_no, inst_id=0, pool_state_root=state_roots[POOL_LEDGER_ID], # INVALID! audit_txn_root="HSai3sMHKeAva4gWMabDrm1yNhezvPHfXnGyHf2ex1L4", reqs=fake_requests, pp_seq_no=1) pre_prepare = PrePrepare(*pre_prepare_params) _register_pp_ts(orderer_with_requests, pre_prepare, orderer_with_requests.primary_name) orderer_with_requests.process_preprepare(pre_prepare, orderer_with_requests.primary_name) check_suspicious(handler, RaisedSuspicion(inst_id=orderer_with_requests._data.inst_id, ex=SuspiciousNode(orderer_with_requests.primary_name, Suspicions.PPR_AUDIT_TXN_ROOT_HASH_WRONG, pre_prepare)))
def test_process_pre_prepare_with_incorrect_audit_txn_root( orderer_with_requests, state_roots, txn_roots, multi_sig, fake_requests): expect_suspicious(orderer_with_requests, Suspicions.PPR_AUDIT_TXN_ROOT_HASH_WRONG.code) pre_prepare_params = create_pre_prepare_params( state_root=state_roots[DOMAIN_LEDGER_ID], ledger_id=DOMAIN_LEDGER_ID, txn_root=txn_roots[DOMAIN_LEDGER_ID], bls_multi_sig=multi_sig, view_no=orderer_with_requests.view_no, inst_id=0, pool_state_root=state_roots[POOL_LEDGER_ID], # INVALID! audit_txn_root="HSai3sMHKeAva4gWMabDrm1yNhezvPHfXnGyHf2ex1L4", reqs=fake_requests, pp_seq_no=1) pre_prepare = PrePrepare(*pre_prepare_params) _register_pp_ts(orderer_with_requests, pre_prepare, orderer_with_requests.primary_name) with pytest.raises(SuspiciousNode): orderer_with_requests.process_preprepare( pre_prepare, orderer_with_requests.primary_name)
def pre_prepare(o, _pre_prepare): _register_pp_ts(o, _pre_prepare, o.primary_name) return _pre_prepare
def pre_prepare(orderer, _pre_prepare): _register_pp_ts(orderer, _pre_prepare, orderer.primary_name) return _pre_prepare