def testOneNodeAltersAClientRequest(looper, nodeSet, setup, evilAlpha, sent1): checkPropagated(looper, nodeSet, sent1, faultyNodes) goodNodes = setup.goodNodes def check(): for node in goodNodes: # ensure the nodes are suspicious of Alpha params = node.spylog.getLastParams(TestNode.reportSuspiciousNode) frm = params["nodeName"] reason = params["reason"] assert frm == 'Alpha' assert isinstance(reason, InvalidSignature) # ensure Alpha's propagates were ignored by the other nodes key = sent1.clientId, sent1.reqId props = node.requests[key].propagates assert 'Alpha' not in props for good in goodNodes: assert good.name in props looper.run(eventually(check, retryWait=1, timeout=10))
def propagated1(looper, nodeSet, up, reqAcked1, faultyNodes): checkPropagated(looper, nodeSet, reqAcked1, faultyNodes) return reqAcked1